如何让这个弹出代码更干净?

时间:2011-07-30 06:36:26

标签: javascript html

这就是我正在为我网站上的一些链接创建弹出窗口的方式。

function popitup(url) {
  newwindow=window.open(url,'name','height=615,width=475');
  if (window.focus) {newwindow.focus()}
}

<a href="song-lyrics.txt" onclick="return popitup('song-lyrics.txt')"></a>

有更简洁的方式来写这个吗?另外,如何显示滚动条?

3 个答案:

答案 0 :(得分:1)

我不太确定你用更干净的方式是什么意思,代码对我来说似乎很直接。但是你可以在锚标签的onclick中删除return,因为它在那里没用,也许你可以用下划线/驼峰的大小写命名你的函数(pop_it_uppopItUp)更好的可读性。

对于滚动条,将,scrollbars=yes添加到window.open中的最后一个参数(strWindowFeatures)。

答案 1 :(得分:1)

务必将newwindow=更改为var newwindow=;否则,每次运行此函数时都会声明一个全局变量。

否则,我同意fsong的回答,它是一个非常基本的功能,不需要太多清洁。这就是我要做的,但它是次要的东西:

function popItUp(url) {
    var newWindow = window.open(url, 'name', 'height=615,width=475,scrollbars=yes');

    if (newWindow.focus) {
        newWindow.focus();
    }
}

答案 2 :(得分:1)

的JSLint

我会通过JSLint检查您的代码。

  

JSLint是一个JavaScript程序,用于查找JavaScript中的问题   程式。它是一种代码质量工具。

像作者一样说JSLint会伤害你的感受,但我认为你应该解决的错误是:

Problem at line 2 character 3: 'newwindow' was used before it was defined.

这个问题与Domenic说的完全一样。

使用JSLint检查代码时,使用Javascript Minifier等工具时,代码也会取得更好的效果。

使Javascript外部

我也认为你应该make Javascript and CSS external

  

在现实世界中使用外部文件通常会产生更快的页面   因为JavaScript和CSS文件是由浏览器缓存的。   下载HTML文档中内联的JavaScript和CSS   每次请求HTML文档时。这减少了数量   需要的HTTP请求,但会增加HTML的大小   文献。另一方面,如果JavaScript和CSS在外部   浏览器缓存的文件,减少了HTML文档的大小   不增加HTTP请求的数量。

我认为您应该阅读Yahoo!的最佳做法,因为它有很多非常好的技巧来优化您的网站(javascript)。

为什么弹出窗口?

但你为什么要使用弹出窗口?有些用户阻止这些,这会使您的网站无法使用。我建议您将JQueryload内容用于DOM。