javascript - Safari 中的脚本执行问题

标签 javascript safari

我在除 Safari 之外的所有浏览器中使用某些功能时遇到问题,我已将问题减少到这一点。

在我的页面中,我的 body 元素末尾有以下脚本声明:

<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.11.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.ui.autocomplete.html.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.validate.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.textchange.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.reveal.js"></script>
<script type="text/javascript" src="../../Scripts/mainScript.js"></script>

然后在 mainScript.js 文件中,我放入了以下代码:

$(function () {
  alert("found");
});

在所有其他浏览器中,它会显示一个消息框,但在 Safari 中它什么也不做。

Safari 的 javascript 调试器列出了脚本,并且可以看到内容,但由于某些原因没有包括在内。

我发现这个问题是因为我试图从 html 页面内的内联脚本调用 mainScript.js 中的函数(内联脚本定义在 mainScript.js 定义下方),Safari 调试器提示该函数不是随处可见。

我在这里做错了什么,为什么 Safari 不包含这个脚本。所有 jquery 脚本都包含在内并且运行良好。

最佳答案

你的代码看起来不错。

我试过这段代码

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <h1>Test</h1>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                alert("Test");
            });
        </script>
    </body>
</html>

它工作正常(Windows 7 上的 Safari 5.0.5 7533.21.1)。

几个问题:

  1. 您是否尝试过从错误控制台手动调用您的函数?有用吗?
  2. 如果在文档就绪函数之外放置一个简单的alert("Test.");,它会显示吗?
  3. 如果您从错误控制台调用 jQuery 的函数,您会得到什么?它们有效吗?

关于javascript - Safari 中的脚本执行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453328/

相关文章:

css - 我在使用 Safari 和 CSS 时遇到问题。如何在不影响 Chrome 的情况下解决问题?

javascript - 文档事件未绑定(bind)到页脚

html - Safari/Firefox 中不同的 H1 css 高度

macos - Mac 更新后 Safari Web 检查器停止工作

html - Safari 中的菜单和按钮看起来很乱 - 非常烦人

javascript - 向 Moment 对象添加天数 (momentjs)

javascript - 如何在 Holder.js 图像中使用 Bootstrap Glyphicons

javascript - 为什么 "return false;"或 "event.preDefualt();"在 $.post(); 之后不起作用?

javascript - 按类删除后续重复元素

javascript - 奇怪的错误 TypeError : Cannot read property 'getValue' of null