VirtualBox限制了可以从共享文件夹中包含的.js文件的大小吗?

3

这个问题可能属于SuperUser,但我仍然会在这里提问,因为我相信一些Web开发人员可能遇到了这种奇怪的行为。


在VirtualBox上测试网站以适配IE8/winXP时,我遇到了一个奇怪的问题:$ is undefined,这是由于使用相对路径引用jQuery(和jQuery UI)时未被包含,而该相对路径解析为file:/// url。显然,这是因为它们的大小太大(超过200KB)。

将这两个大文件的链接替换为http://的链接可以解决我的问题。

但问题在于:为什么会发生这种情况?

这是配置错误吗?还是一个已知的设计决策?


详细信息:

  • VirtualBox 4.1.8
  • 主机操作系统:win7 64位,客户操作系统:xp sp3 32位
  • 已安装增强功能,页面从VB共享文件夹启动
  • 此错误在所有浏览器中都表现出来(即使在Opera中,它忽略ie的安全设置,据我所知)
  • ie配置是默认的
  • 脚本是这样包含的<script type="text/javascript" src="js/libs/jquery/jquery-1.7.2.js">
  • 确切的大小限制没有被扣除。

听起来你在Windows XP中遇到了最大路径长度的限制。http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath。是的,这是一个更好的问题适合SU; 投票迁移。 - Matt Ball
@MДΓΓБДLL 那是其中一个版本) 但是,我尝试将 jQuery 文件重命名为 j.js 并将其放在与 .html 文件相同的文件夹中。没有效果。 - c69
也许您可以从项目目录创建一个符号链接到vbox共享目录。哦,这是Windows系统啊。在Windows上开发Web真的让我大吃一惊。 - Joe Frambach
1个回答

1

第一个问题:IE在加载此HTML文件时使用哪个区域?查看IE窗口右下角是否有类似“我的电脑”或“本地网络”的内容。尽管这个问题在其他浏览器中也存在,但我很想知道IE将您的共享文件夹视为什么。

这听起来更像是浏览器问题,而不是VirtualBox做了一些有趣的事情。现在IE对于file:// URI非常限制,其他浏览器也有不同程度的限制...

其他.js文件在所讨论的页面中是否正常加载,或者它们也被阻止了?旧版本的jQuery(如v1.3.2)呢?

您为什么要从文件共享中加载它们,而不是从Web服务器中加载它们?如果您将所有文件从共享驱动器复制到guest c:\驱动器中,是否会得到相同的结果?

升级到VirtualBox 4.1.12怎么样?我不认为这会有什么影响,但值得一试。

最后一个想法是jQuery有一些调用可能会触发IE(以及可能的其他浏览器)阻止脚本 - 特别是调用new ActiveXObject。也许创建一个小的.js文件来尝试将其作为问题进行排除。沿着这条线 - 如果您创建一个垃圾但合法的.js文件,它很大 - 比如说400K的东西,会发生什么:
var a = "... really, really long string";
var b = "... another really long string";
...

所有(30+)其他.js文件都可以正常加载,从共享中加载意味着您无需在保存后上传,可以更快地查看您的更改,升级可能会有所帮助,但由于繁忙的日程安排,我目前不感兴趣。 - c69

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接