帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
55
帖子
0
勋章
253
Y币

[superwebview] 为何superWebView中的H5页面导入jquery后不执行语句?

[复制链接]
发表于 2016-4-27 11:24:32
本帖最后由 flyman2015 于 2016-4-27 11:26 编辑

为何superWebView中的H5页面导入jquery后不执行语句?现象很诡异,在APICloud中开发同样的页面是正常的。代码如下:
<head>
        <meta charset="UTF-8">
        <meta name="viewport" content="maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, initial-scale=1.0, width=device-width"/>
        <meta name="format-detection" content="telephone=no, email=no, date=no, address=no">
        <link rel="stylesheet" type="text/css" href="./css/api.css" />
        <script type="text/javascript" src="./script/jquery-2.1.1.min.js">
        <script type="text/javascript" src="./script/public.js"></script>
        <script type="text/javascript" src="./script/api.js"></script>
</head>

<body>
                <div id="wrap">
                <div id='header'>
                <div class="back" tapmode="back-active" >返回</div>
                <h1>SuperWebview DEMO</h1>
                <div class="adpt" ></div>
                </div>
                <div id="main">
                </div>
                <div id="footer">
                <h5>APICloud Copyright ©<span id="year"></span> </h5>
                </div>
                </div>
</body>

<script type="text/javascript">
    apiready = function() {
        alert("0000");
        fixStatusBar();
        alert("1111");
        $('#wrap').empty();
        alert("2222");
}
</script>

语句执行到alert("1111")就不打印了,也没有其它JS报错。为何$('#wrap').empty()会执行错误?

用jquery回调也不执行语句:
$(document).ready(function(){
     alert('Hi,I am a alert!');
});


55
帖子
0
勋章
253
Y币
alert("2222")没有执行。
20
帖子
1
勋章
7583
Y币
检查你的js/css引用路径是否正确。
68
帖子
0
勋章
1万+
Y币
我认为多半是路径问题,或者你整个都导入试一试
55
帖子
0
勋章
253
Y币
感觉不像路径问题,因为如下引用也是同样问题,只是Jquery,引用同个路径下的public.js及api.js都是有效的。
<link rel="stylesheet" href="http://code**.**/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script type="text/javascript" src="http://code**.**/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="http://code**.**/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
20
帖子
1
勋章
7583
Y币
没有任何问题。
widget.zip 下载附件
2016-4-29 19:05上传92.65 KB下载次数: 717
17
帖子
0
勋章
73
Y币
顺带问一下,JQuery mobile 与APICloud是官方兼容的吗? @常山赵子云
55
帖子
0
勋章
253
Y币
所谓兼容,是指版本不同吗?我看前面的代码中为:
<script type="text/javascript" src="script/jquery-1.8.3.min.js"></script>
是指1.8.3版本,更高的不兼容?
55
帖子
0
勋章
253
Y币
我用的是jquery-2.1.1.min.js
55
帖子
0
勋章
253
Y币
通过index.html打开sudoku.html,在sudoku.html中引入jquery可以正常执行,但在index.html中使用jquery存在不执行的问题,而且对引入的顺序敏感,如下:
<title>SuperWebview DEMO</title>
<link rel="stylesheet" type="text/css" href="css/api.css" />
<script type="text/javascript" src="script/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="./script/public.js"></script>
<script type="text/javascript">
       $(function(){
             alert("index.html-jquery ready");
       });
      apiready = function(){
           fixStatusBar();//沉浸式效果,支持IOS7及Android4.4及以上
           openContent('sudoku.html', 'sudoku');//打开主frame
           $('year').innerHTML = new Date().getFullYear();
           api.addEventListener({
                  name:'smartupdatefinish'
           },function(ret,err){
                  alert('云修复成功: ' + JSON.stringify(ret));
           });
      }
</script>
以上代码不执行jquery函数,但不影响进入sudoku页面,sudoku页面jquery正常。如果引用顺序变化如下:
<script type="text/javascript" src="./script/public.js"></script>
<script type="text/javascript" src="script/jquery-1.8.3.min.js"></script>
将会导致apiready函数也不会执行,页面白屏。
如果将<script></script>的代码移到head外,也有类似问题。
12下一页
您需要登录后才可以回帖 登录

本版积分规则