题目描述:
《Javascript DOM 编程艺术》
第五章课题:分离javascript
题目来源及自己的思路:
将js代码打包在prepareLinks函数中,并把这个函数添加到window对象的onload事件上去。这样就将Javascript与HTML分离开来,实现平稳退化。
相关代码:
HTML:
<body>
<a href="https://www.baidu.com">Example_1</a>
<a href="https://www.google.com">Example_2</a>
<script type="text/javascript" src="js/class_5.js"></script>
</body>
Javascript:
function popUp(winURL) {
window.open(winURL, "popup", "width=320,height=480");
}
window.onload = prepareLinks;
function prepareLinks() {
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
links[i].onclick = function() {
popUp(this.getAttribute("herf"));
return false;
}
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
期待:点击不同链接,能够弹出"width=320,height=480"的小window显示页面。
实际:只有页面整体转向了链接,无任何弹出窗口。我想应该是js无效。
后来查google,有人说是浏览器拦截js弹出窗口,因为把它当成了广告。
但是我启用了所有js控件,并关闭了浏览器自带/独立 的广告拦截,还是无效。。。
究竟是我代码写的不对,还是浏览器的问题??
不是我懒惰,查资料2天了,试验了网上好多方法,不是无效就是我弄不懂
我是学习js新手,希望能用浅显语言解答,最好是自己试验成功,谢谢...
我真不是想做小广告的坏人啊,只是遇到了一道题是这个效果的。。。。。
我最终的效果,只在IE8上做出来,chrome/firefox怎么不出来
popUp(this.getAttribute("herf"));
写错了
popUp(this.getAttribute("href"));
看下图,这是CSDN博客的弹窗广告。其实质就是一个div。绝大部分网站的弹窗广告实质就是一个div