簡體   English   中英

如何使此彈出代碼更整潔?

[英]How do I make this popup code cleaner?

這是我目前為網站上的一些鏈接創建彈出窗口的方式。

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>

有沒有更清潔的方式來寫這個? 另外,如何使滾動條出現?

我不確定您用更簡潔的方式表示什么,代碼對我來說似乎很簡單。 但是,您可以擺脫錨標記的onclick中的return ,因為它在那里沒有用,也許您可​​以使用下划線/駝峰式大小寫來命名函數( pop_it_uppopItUp ),以提高可讀性。

對於滾動條,scrollbars=yes在window.open中的最后一個參數(strWindowFeatures)中添加,scrollbars=yes

確保將newwindow=更改為var newwindow= ; 否則,每次運行此函數時都要聲明一個全局變量。

否則,我同意fsong的回答,它是一個非常基本的功能,不需要太多清潔。 這是我會做的,但這只是次要的事情:

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

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

傑林特

我會通過JSLint檢查您的代碼。

JSLint是一個JavaScript程序,用於查找JavaScript程序中的問題。 這是一個代碼質量工具。

就像作者所說的那樣,JSLint會傷害您的感情,但是我認為您應該解決的錯誤是:

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

就像Domenic所說的那樣,這是一個問題。

當您使用JSLint檢查代碼時,使用諸如Javascript Minifier之類的工具時,代碼也將獲得更好的成功。

將Java設為外部

我還認為您應該將Javascript和CSS設置為外部

在現實世界中使用外部文件通常會產生更快的頁面,因為JavaScript和CSS文件是由瀏覽器緩存的。 每次請求HTML文檔時,都會下載HTML文檔中內聯的JavaScript和CSS。 這減少了所需的HTTP請求的數量,但增加了HTML文檔的大小。 另一方面,如果JavaScript和CSS在瀏覽器緩存的外部文件中,則可以在不增加HTTP請求數量的情況下減小HTML文檔的大小。

我認為您應該閱讀Yahoo!的最佳做法,因為它有很多非常好的技巧來優化您的網站(javascript)。

為什么彈出窗口?

但是為什么要使用彈出窗口? 一些用戶阻止了這些,使您的網站無法使用。 我建議您使用JQuery並將內容加載到DOM中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM