1

我在 gentoo 上设置了一个 apache 服务器,我希望能够在 apache 提供的 html 文件中运行 javascript 代码。

如果我在 Chrome 中手动打开位于 apache 服务器上的 html 文件,则 javascript 可以正常工作。如果我通过 apache 使用服务器地址浏览到 html 文件,它不会执行。这是我的测试 html,非常简单:

<html>
    <h2>js test</h2>
    <script>
        alert("Hey");
    </script>
</html>

我以前从未见过这种行为。有任何想法吗?

编辑:手动打开并使用服务器地址的意思是:

file:///mnt/server/path/to/file.html (opening manually)
http://server/path/to/file.html (browsing to apache server)

编辑 2:apache 的 error_log 中没有错误。起初我使用 jquery 来尝试做一些 ajax 的东西,但我试图将这个问题的所有内容都简化到最大。

4

1 回答 1

1

正如@Blender 所指出的,HTML 缺少典型的 head.../head 和 body.../body 部分。也许这对正确加载 HTML 和触发脚本部分的浏览器很重要。

此外,像 alert() 这样的弹出窗口可以被浏览器中的弹出窗口阻止程序阻止,这些阻止程序可以区分站点和文件 url。

于 2013-03-17T08:35:25.260 回答