jQuery mobile在面板打开时重新加载iFrame

时间:2013-12-19 09:03:36

标签: javascript jquery jquery-mobile iframe

我偶然发现了这个奇怪的问题,我第一次打开面板时会重新加载jQuery移动网站内容区域中的iframe。任何后续开放都不会重新加载iFrame。

您可以在这个小提琴中看到它: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,则不会重新加载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不会重新加载。 (在URL中看到原来的小提琴只有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>

1 个答案:

答案 0 :(得分:0)

答案:

感谢Omar,我意识到通过将内容div包装在ui-panel-wrapper div中,iFrame不会重新加载,因为这不是由jQuery mobile完成的。 (在URL中看到原来的小提琴只有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>