我有一个页面(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>
答案 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>