当通过 iOS Twitter 浏览器访问时,为什么 javascript 不在网页上执行?

Why is javascript not executing on a web page when accessed via iOS Twitter browser?

我完全被难住了,我确信这以前是有效的。

我有一个简单的网页,在 div 中包含单词 "hello",它在加载时做了两件事:

1) 警报“2”

2) 将 div 的文本更改为 "bye"

所有原版 Javascript,没有库。

这在 Chrome、IE、FF、Safari 上运行良好(如您所料)。如果我在 iOS Twitter 应用程序(最新版本)中点击 link 到此网页,这两种情况都不会发生。在我看来 Javascript 根本没有被执行,但这怎么可能呢?有没有其他人遇到过这种情况?

更新

事实上,普通 Javascript 会起作用。警报测试具有误导性——我相信它已被禁用,这就是它不起作用的原因。然而,JQuery 将不起作用 - 可能与 $ 引用冲突有关。

更新 2

问题现在已经转移了 - 我最初的假设并不完全正确。

以下网页代码有效:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <style>
        #test {
            color:red;
        }
    </style>

    <script>

        window.onload = function () {
            document.getElementById('test').innerHTML = 'vanilla javascript worked';
            $("#test").text("Jquery worked");
        }

    </script>

</head>
<body>

    <div id="test">
        hello
    </div>
</body>
</html>

以下代码无效。我脚本的路径是正确的并且可以在普通浏览器上运行,但是在 iOS Twitter 应用内浏览器中时,本地脚本似乎无法加载:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>

    <script src="~/Scripts/jquery-2.1.1.js" type="text/javascript"></script>

    <style>
        #test {
            color:red;
        }
    </style>

    <script>

        window.onload = function () {
            document.getElementById('test').innerHTML = 'vanilla javascript worked';
            $("#test").text("Jquery worked");
        }

    </script>

</head>
<body>

    <div id="test">
        hello
    </div>
</body>
</html>

我已经测试了通过 Facebook 访问网页的问题,无论哪种方式都可以正常工作。问题仅在 iOS.

上与 Twitter 浏览器有关

我试过使用我的脚本的绝对路径,但也不起作用。

更新

此问题不在 iPad 上。仅 iPhone。因为它之前工作正常,我会说这是 iPhone Twitter 应用程序最新版本的一个错误。将等待 Twitter 的修复。

结果是我正在将来自 Twitter 的所有请求重写到预呈现的 html 实例 (brombone)。所以当它在寻找那个文件时,它实际上是在寻找 brombone 服务器而不是我的。我把重写出来了,现在好了。

与我正在做的事情完全无关,但我还是解决了它,可能会提醒那些有类似问题的人跳出框框检查服务器设置等...