A页面是父层,B页面是子层:A页面内iframe B页面,A和B页面属同域。A页面和B页面中都有使用jquery请教:A页面加载jquery.js,而B页面不加载jquery.js。 这样在B页面中可以使用A页面加载的jquery么?如何实现呀?正常jquery选择器 $("#id")...... 如果在B页面中调用A页面加载的jquery.js,该如何写呢?
如果实现不了的话A,B页面就都需要加载jquery.js,这样会影响页面加载速度的。
感谢!!
如果实现不了的话A,B页面就都需要加载jquery.js,这样会影响页面加载速度的。
感谢!!
var $ = parent.document.$;
$('#id')
除非你注册到父窗口的 window.$=window.parent.$; 但是即便这样 用的时候还是要像父窗口那样用 就是要拿到frame里的东西 要首先找frame 拿document 才能继续操作下面的节点
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://www.wanmei.com/public/js/jq_132.js"></script></head><body>
<iframe src="aaa.html"></iframe>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{margin:0; padding:0;}
body{font-size:12px; color:#000; text-align:center;}
</style>
</head><body>
<script>
var $ =parent.window.$;
alert($('body').html())
</script>
</body>
</html>
楼主看看alert($('body').html())永远弹出的是父页面内容
A页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
<body>
<iframe src="b.htm" id="ifr" name="ifr"></iframe>
</body>
</html>
B页面:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
onload = function () {
var $ = function (tag) {//封装一下
var _$=parent.window.$(parent.window.frames['ifr'].document);
return _$.find(tag);
} var t=$('h1').html(); //选择h1
alert(t);//输出ssss
}
</script></head>
<body>
dfsdf
<h1>sss</h1>
</body>
</html>