繁体   English   中英

JavaScript 无法在移动 Safari 中工作

[英]JavaScript not working in Mobile Safari

好的,所以问题是我正在使用的 JS 代码将无法立即在移动 Safari 中运行。 在桌面 safari、chrome 等中一切正常。

在移动 safari(iphone 4 和 ipod touch 2nd gen 测试)中,页面完全空白。 但是,如果您导航到另一个页面然后单击返回,则加载正常!

有人能告诉我这里到底发生了什么吗?

谢谢:)

这是该网站的链接

http://osmithcouk.ipage.com/exposed/index.php

这是JS代码

注意我已经编辑了代码,因为 RYUUTATSUO 建议我这样做但仍然无法正常工作:(

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){

        $(".slidingDiv").hide();
        $(".show_hide").show();

    $('.show_hide').click(function(){
    $(".slidingDiv").slideToggle();
    });

});

这是与之相伴的 HTML。

<a href="#" class="show_hide"><b><?php include 'headline1.txt'; ?></b></a>
<div class="slidingDiv">
<?php include 'story1.txt'; ?> <a href="#" class="show_hide">Hide story...</a></div>

以及用于slidingDiv 和show_hide 的CSS。

.slidingDiv {
    background-color: #FFFFFF;
    padding:20px;
    margin-top:10px;
}

.show_hide {
    display:none;
}

非常感谢您的帮助:)

实际上,问题在于您必须添加查询字符串参数才能使其在移动设备上呈现。 例如

script src="js/Common.js" type="text/javascript"

应该替换为

script src="js/Common.js?v=1.1" type="text/javascript"

并且您还可以在您的 js 文件的注释中提供版本,以便客户可以知道他有最新版本的 JS 文件。

利用

jQuery(window).load()

代替

jQuery(document).ready()

我真的不知道这是否是正确的协议,但我自己修复了它,所以我想我会发布我的答案!

真的很简单,我只是把JS移到了.CSS下面。 显然 Safari 在 CSS 之前渲染 jQuery 时出现问题:s

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM