【问题标题】:Jquery .Load not working in android browser but works in Firefox mobile browser on same deviceJquery .Load 在 android 浏览器中不起作用,但在同一设备上的 Firefox 移动浏览器中起作用
【发布时间】:2016-04-06 20:30:53
【问题描述】:

请我尝试使用 Jquery .Load 将外部页面“page2.html#newupdate”中的 div 加载到当前页面“page1.html”中的另一个 div“#localupdate”中。

不幸的是,它不适用于 android 浏览器 5.1 版,但可以在同一设备上的 Firefox 移动浏览器 45.0.1 版中运行。它也适用于桌面版 Chrome 和 Firefox。

请问为什么? 任何最好的想法都将不胜感激。

下面是我的代码:

JS:

  /*
I AM TESTING AN INTERNET AVAILABILITY FIRST. 
BY SEND A REQUEST TO THE jquery.min.js FILE ONLINE. 
THEN IF SUCCESSFUL, TRIGGER MY FUNCTION loadNewupdate().
*/

function loadNewupdate() {
    $("#localupdate").empty();
$( "#localupdate" ).load( "page2.html#newupdate" ); //.trigger("create"):
document.getElementById("localupdate").style.dispaly = "block";};

$( document ).ready(function ping(){
     $.ajax({
      url: 'http://code.jquery.com/jquery.min.js',
      crossDomain: 'true',
      type: 'post',
      success: function(result){        
    loadNewupdate (); },     
   });  
});

HTML:

<!-- PAGE1.HTML -->
<div data-role="page" id="page1" align="center">    
<div id="localupdate" style="display:none;">
NEW UPDATE HERE... 
</div>
</div>

<!-- PAGE2.HTML -->
<script>
$("#page2").live('pageinit', function() {
        jQuery.support.cors = true;
$.mobile.allowCrossDomainPages=true;
});
</script>

<div data-role="page" id="page2" align="center">    
<div id="newupdate" style="display:block;">

    <a href="http://newlink1.com" target="_parent"><img  alt="new image" src="http://imgfile.com/1.jpg"/></a>               
    <a href="http://newlink2.com" target="_parent"><img  alt="new image" src="http://imgfile.com/2.jpg"/></a>               
    <a href="http://newlink3.com" target="_parent"><img  alt="new image" src="http://imgfile.com/3.jpg"/></a>

</div>
</div>

【问题讨论】:

  • 默认的安卓浏览器不是很强大。我不知道它使用什么技术,但我猜它不支持跨域和 CORS 等高级功能。
  • 谢谢 RoToRa,请问最好的方法是什么?
  • 这个小提琴可以在你的安卓浏览器上使用吗? jsfiddle.net/amwu5bpg

标签: javascript jquery html jquery-mobile


【解决方案1】:

错别字:

document.getElementById("#localupdate").style.dispaly = "block";};

跟随真的有效吗?创建一个命名函数并同时执行它?如果删除“ping”会发生什么?

$( document ).ready(function ping(){

.live 已弃用。将其替换为 .on :

$("#page2").live

【讨论】:

  • Yezzz,非常感谢您的回答并指出我的错字:document.getElementById("#localupdate").style.dispaly = "block";}; .不幸的是,它出现在 stackoverflow 上,但在我的系统上一切都很好。但是我测试了您的答案,但仍然无法正常工作。
  • 顺便说一句,我的主要问题是为什么我的代码在 firefox 移动浏览器、firefox 桌面浏览器、chrome 桌面浏览器中有效,而在 android 移动浏览器版本 5.1 中无效。
  • 嗯,这很可能是该浏览器的限制。顺便说一句,您还应该在成功后删除尾随逗号: function() { }
  • 如果您删除 ajax 测试并在 .ready 之后调用 loadNewupdate() 是否有效?
  • Android 浏览器从 4.4 版开始似乎支持 CORS (caniuse.com/#feat=cors)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多