为什么我的HTML页面在新打开的浏览器窗口中为空?

时间:2011-05-19 06:24:02

标签: javascript jquery html jquery-ui javascript-events

我的index.html有一个按钮(id="my-btn"):

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>My INDEX PAGE</title>
    </head>
    <body>
        <br><input type="button" id="my-btn" value="OPEN NEW WINDOW"/>
        <script src="js/my.js"></script>
        <script src="js/jquery-1.5.1.js"></script>
    </body>
    </html>

js / my.js 处理按钮点击事件,点击my-btn按钮后,将打开新的浏览器窗口使用新页面( test.html

my.js:

$('#my-btn').click(function(){  
  window.open('test.html', 'testwindow');
});

新页面( test.html )在新的浏览器窗口中打开:

的test.html:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEST</title>
</head>
<body>
    <div id="my-name"></div>
    <script src="js/test.js"></script>
    <script src="js/jquery-1.5.1.js"></script>
</body>
</html>

在新页面中,将调用 test.js ,并将附加文本“JOHN”作为此页面的内容

JS / test.js

$(document).ready(function(){
    $("#my-name").append("<strong>JOHN</strong>");
});

但是,当在新弹出的浏览窗口中打开 test.html 页面时,我没有看到“JOHN”文本,这是一个空白页面,为什么?

(我在“js /”目录下有jquery-1.5.1.js,所有javascript文件都在js /下)

2 个答案:

答案 0 :(得分:4)

这里很简单......

在定义$之前,你正在调用$(document).ready ...。

这种情况发生在jquery中,因此您需要切换脚本顺序:

<script src="js/jquery-1.5.1.js"></script>
<script src="js/test.js"></script>

答案 1 :(得分:2)

test.js的内容取决于jQuery,但是在执行test.js中的所有内容之前,不要尝试加载jQuery。

切换脚本元素。