我偶然发现了这个奇怪的问题,当我第一次打开面板时,jQuery 移动网站内容区域中的 iframe 会重新加载。任何后续打开都不会重新加载 iFrame。
您可以在这个 fiddle 中看到它的实际效果:http://jsfiddle.net/jakobgt1/Z3mmn/7/ (观察网络请求)。
<body>
<div data-role="page">
<div id="nav-panel" data-role="panel">
<a href="#my-header" data-rel="close">Close panel</a>
</div>
<div data-role="content">
<a href= "#nav-panel" data-role="button">FooBar</a>
<iframe src="http://gedefar.dk/"/>
</div>
</div>
</body>
如果我用其他内容替换 iframe,则不会重新加载(例如图片 - http://jsfiddle.net/jakobgt1/GdKu2/1/ ):
<img src="http://dummyimage.com/200x200/000/fff"/>
我使用的是 jQuery 1.10.1、jQuery Mobile 1.4.0 RC-1。
这是一个错误,还是我错过了什么?
<小时/>更新的答案:
通过将内容 div 包装在 ui-panel-wrapper div 内,iFrame 不会重新加载。 (请参阅原始 fiddle ,网址中只有 8 而不是 7,因为我不能发布两个以上的链接)
<div class="ui-panel-wrapper">
<div data-role="content">
<a href= "#nav-panel" data-role="button">FooBar</a>
<iframe src="http://gedefar.dk/"/>
</div>
</div>
雅各布
最佳答案
答案:
感谢 Omar,我意识到通过将内容 div 包装在 ui-panel-wrapper div 内,iFrame 不会重新加载,因为这不是由 jQuery mobile 完成的。 (请参阅原始 fiddle ,网址中只有 8 而不是 7,因为我不能发布两个以上的链接)。
<div class="ui-panel-wrapper">
<div data-role="content">
<a href= "#nav-panel" data-role="button">FooBar</a>
<iframe src="http://gedefar.dk/"/>
</div>
</div>
雅各布
关于javascript - jQuery Mobile 在面板打开时重新加载 iFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677293/