【问题标题】:Why is javascript not executing on a web page when accessed via iOS Twitter browser?为什么通过 iOS Twitter 浏览器访问时,javascript 没有在网页上执行?
【发布时间】:2015-10-16 13:06:11
【问题描述】:

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

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

1) 警报“2”

2) 将 div 的文字改为“再见”

所有原生 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 访问网页的问题,无论哪种方式都可以正常工作。问题出在 iOS 上的 Twitter 浏览器上。

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

更新

此问题不在 iPad 上。它只是 iPhone。由于它之前运行良好,我会说这是最新版本的 iPhone Twitter 应用程序中的一个错误。将等待 Twitter 的修复。

【问题讨论】:

  • 遇到一个 twitter 浏览器问题,该问题有一些相似之处(仅在 iPhone 上出现,而不在 iPad 上出现)但似乎不是 js 问题:我们有一些文本的 span '没有被显示。只是想知道您是否对您的问题有所了解

标签: javascript ios iphone twitter cross-browser


【解决方案1】:

原来我正在将所有来自 Twitter 的请求重写为预渲染的 html 实例(brombone)。因此,当它在寻找那个文件时,它实际上是在寻找不是我的 brombone 服务器。我拿出了重写,现在很好。

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

【讨论】:

    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多