对话框和ie8中的load()

时间:2012-11-26 11:58:24

标签: jquery-mobile

我有一个页面(test.html),其中包含指向对话框(dialog.html)的链接,然后加载listview(list.html)。这适用于除ie7和ie8之外的所有浏览器。如果我然后将对话框设置为单独的页面(test2.html),它会在ie7和ie8中加载列表。

我尝试使用console.log()调试以找出执行的内容,并且当从ie8中的test.html加载dialog.html时,没有执行dialog.html中的javascript。

有任何建议如何解决这个问题?


代表我的问题的两个最小/简化示例:
https://zero3.dk/guru/testing/test.html
https://zero3.dk/guru/testing/test2.html

的test.html

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<link rel="stylesheet" href="styles/jquery.mobile-1.2.0.min.css" type="text/css">  
<script type="text/javascript" src="scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="scripts/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<a href="dialog.html">Open dialog</a>
</body>
</html>

dialog.html

<div data-role="dialog">
<script>
$('#lp-list').load('list.html',function(){
$(this).trigger("create");
});
</script>
<div data-role="header" data-theme="b">
<h1>Lokationsvælger</h1>
</div>
<div data-role="content" id="lp-list">
</div>
</div>

list.html

<ul data-role="listview">
<li>First</li>
<li>Second</li>
<li>Third</li>
</ul>

test2.html

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<link rel="stylesheet" href="styles/jquery.mobile-1.2.0.min.css" type="text/css">  
<script type="text/javascript" src="scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="scripts/jquery.mobile-1.2.0.min.js"></script>
<script>
console.log("1");
</script>
</head>
<body>
<div data-role="dialog">
<script>
$('#lp-list').load('list.html',function(){
$(this).trigger("create");
});
</script>
<div data-role="header" data-theme="b">
<h1>Lokationsvælger</h1>
</div>
<div data-role="content" id="lp-list">
</div>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

通过将所有JavaScript从dialog.html移至test.html来解决问题。

<!DOCTYPE html>
<html>
 <head>
  <title>test</title>
  <link rel="stylesheet" href="../styles/jquery.mobile-1.2.0.min.css" type="text/css">  
  <script type="text/javascript" src="../scripts/jquery-1.8.2.min.js"></script>
  <script type="text/javascript" src="../scripts/jquery.mobile-1.2.0.min.js"></script>
  <script>
  $(document).on('pageinit', function() {
   $('#lp-list').load('list.html',function(){
    $(this).trigger("create");
   });
  });
 </script>
</head>
<body>
 <a href="dialog.html">Open dialog</a>
</body>
</html>