javascript 习题=怎样弹出一个窗口显示链接

题目描述:

《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怎么不出来
图片描述

阅读 2.5k
2 个回答

popUp(this.getAttribute("herf"));
写错了
popUp(this.getAttribute("href"));

看下图,这是CSDN博客的弹窗广告。其实质就是一个div。绝大部分网站的弹窗广告实质就是一个div

<div> 
    <a target='_blank' href=".....">
        <img src="..."/>
    </a>
</div>

图片描述

window.open('https://segmentfault.com/q/1010000017147643', 'popup', 'width=320,height=480,alwaysRaised=yes')

同时 herf => href

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题