【发布时间】: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