【问题标题】:Javascript: Why can't I access the '../..' directory in browser on mac [closed]Javascript:为什么我无法在 Mac 上的浏览​​器中访问“../..”目录 [关闭]
【发布时间】:2017-11-18 22:51:56
【问题描述】:

一个客户端 JS 程序包括以下几行:

<script src='../../LIBS/jwlib.js'></script>
<script src ='../js/header.js'></script>
<script src ='../js/session.js'></script>
<script src ='../js/classes.js'></script>
<script src ='../js/main.js'></script>

它可以在 Windows 下的任何浏览器上正常运行。但是在我的 iMac 上它失败了,因为它找不到 jwlib 中定义的函数。并且 Chrome 开发者工具没有找到 jwlib。

怎么了?

程序本身在http://www.johnwheater.net/JAVASCRIPT/MULTIBODY/html/main.html

感谢 Hugues 和 Chetan,感谢您的关注。加载时,我们应该看到一个带有两个正方形的画布,一个蓝色和一个黑色。蓝色的应该显示 1 到 50 之间的数字集合,以及标有 BEGIN 的按钮。当您按下该按钮时,数字应该会开始闪烁。

这在我的 iMac 上不会发生,Chrome Devtools 报告缺少函数 get_random_integer()。如果您在 main.js 的第 366 行设置断点,您会看到调用以及继续时的失败。

这个函数在jwlib.js文件中,没有找到。

我制作了一个新版本,将缺少的函数粘贴到 main.js 中。这被称为 MULTIBODY2 而不是 MULTIBODY,它可以工作。如前所述。

【问题讨论】:

  • 您如何提供文件?您只是想直接在浏览器中打开 .html 文件还是使用某种本地服务器?请提供有关您的项目的更多信息。
  • 您使用的是区分大小写的文件系统吗?
  • 你的工作是简单的 html 还是使用 django 或 ruby​​onrails?
  • 我运行wget -p http://www.johnwheater.net/JAVASCRIPT/MULTIBODY/html/main.html 来获取所有这些页面,然后在 MacOS 上的 Safari/Firefox/Chrome 中打开“main.html”,它在所有页面中都运行良好,没有丢失资源。你能准确描述你在做什么吗?我不认为它与'../..'有任何关系
  • 该程序根本不引用任何服务器。浏览器从服务器加载 html,然后纯 html 运行,如图所示。关键是,为什么它在 Windows 上运行而不是在 mac 上运行。帮助!谢谢Ssswift,你是不是运行程序看到很多零散的数字?它在我的 iMac 上不起作用,并且 F12 显示它在 jwlib 中找不到函数。

标签: javascript html windows macos browser


【解决方案1】:

对不起,浪费了时间..

问题是我认为 window.onload() 只有在所有脚本都加载后才会被调用。

好像不是这样,我的问题只是mac和windows的时序不同。

【讨论】:

  • 但是在页面中,好像你在使用body onload
  • 是的,谢谢,Sagar,这是修复,将窗口更改为正文,现在没有问题了。
  • 请为以后的访客详细解答。或者如果你愿意,我可以做一个。
  • 我对js的无知以至于我以为我的
【解决方案2】:

我有一个执行初始化的函数 init()。我指定将其称为窗口 onload() 函数。

我对js的无知,以为到时候所有的文件都会被加载完。

事实上,我相信是 body onload 事件发出了所需条件的信号。

当我改成这个的时候,

<body onload = init()>

在 OSX 和 Windows 上一切正常。因此,我想我的问题是由两种环境中不同的加载时间引起的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2013-05-11
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多