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

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

本文关键字:访问 网页 执行 浏览器 Twitter 不能 javascript iOS 为什么      更新时间:2023-09-26

我完全被难住了,我确信这之前是工作的。

我有一个简单的网页与单词"hello"在一个div做两件事onload:

1) alert "2"

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

所有的Javascript,没有库。

这适用于Chrome, IE, FF, Safari(如你所料)。如果我点击iOS Twitter应用程序(最新版本)到这个网页的链接,这两种情况都不会发生。在我看来,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访问网页的问题,这也可以很好地工作。问题是Twitter浏览器只能在iOS上使用。

我已经尝试使用绝对路径到我的脚本,也不工作。

更新

这个问题不在iPad上。它只支持iPhone。由于它之前工作良好,我认为这是最新发布的iPhone Twitter应用程序的错误。将等待Twitter的修复。

原来是我重写了所有来自Twitter的请求到一个预渲染的html实例(brombone)。所以当它在寻找那个文件时,它实际上是在看brobone服务器,而不是我的。我把改写过的东西拿出来,现在好了。

与我正在进行的完全无关,但我解决了它,尽管如此,可能提醒那些有类似问题的人看看外面的盒子,检查服务器设置等…