我在用
$('#result').load('http://.... #div');
获取外部网站的内容。我编辑了PhoneGap的域白名单。如果我将此页面设置为索引页面,它就可以工作。但是,通过提交表单设置为下一页时,它就不能正常工作了。未显示来自外部网站的内容。我该如何解决?谢谢
最好为此使用 javascript 框架并仍然使用单个 index.html 文件。我遇到的最佳实践是使应用程序不是多个 html 文件。有许多框架可以实现这一点,最好的文档是 jquerymobile。
在您的 javascript 文件中使用 JQueryMobile,您将检查 page1 div 何时使用 jquerymobile 加载,然后运行您的 .load 代码。
JQueryMobile 没有它寻找的不同事件。在这种情况下,在页面启动 (pageinit) 之前,您希望运行加载事物以从其他网站获取内容。
$( "#page1" ).live( "pageinit",function(){
$('#result').load('http://.... #div'); //place your load here..you can even $.post(function(){..}); to a php script to get exactly what you want.
});
您在 body 标签内的 html 文件将包含此内容,当然您需要在 head 标签之间包含 jquery 和 jquerymobile js 和 css 文件。
<div data-role="page" id="home" data-theme="a">
<div data-role="header">
<h1>Welcome</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li class="btn_a"><a href="#page1">Page1</a></li>
<li class="btn_s"><a href="#page2">Page2</a></li>
<li class="btn_l"><a href="#page3">Page3</a></li>
</ul>
</div>
<div data-role="footer">
<h4>Your Brand</h4>
</div>
</div>
<div data-role="page" id="page1" data-theme="a">
<div data-role="header">
<h1>Page1 Heading</h1>
</div>
<div data-role="content">
<h1>This is Page1</h1>
<div id="#result"></div>
</div>
<div data-role="footer">
<h4>Your Brand</h4>
</div>
</div>