2011-09-14 73 views
-3

由於網站提出的問題,我必須爲頁面上的所有鏈接使用JavaScript。用JavaScript做鏈接慢下來一頁?

是這樣的...

<a href="javascript:this.location = 'stamping.html'"><img src="image.png"/></a> 

威爾具有網頁上的JavaScript許多環節顯著慢下來?

Javascript是在頁面初始加載時運行還是僅在單擊鏈接時運行?

編輯:對於那些問爲什麼我這樣做。我正在創建一個iPad站點,當您使用「添加到主頁」按鈕將該站點添加爲圖標時,它允許用戶查看沒有地址欄的站點。

但每次單擊鏈接時,都會在地址欄返回的新窗口中重新打開Safari。

我能找到的唯一解決方案是使用JavaScript代替基於html的鏈接打開頁面。

對於進一步參考看看...

iPad WebApp Full Screen in Safari

第二個答案

「只打開第一(書籤)頁面全屏顯示。任何下頁將可見地址欄打開再次,無論元,你把你的頁面標題標記......「

3回答下來

」如果你はNT留在一個瀏覽器,而無需啓動一個新的窗口,使用HTML代碼:

a href="javascript:this.location = 'index.php?page=1'" 

+0

潛在的問題是什麼?這似乎是一個奇怪的解決問題的辦法。 – Rontologist

+0

爲什麼會..? –

+0

你對「重要」的評價是什麼?您在測試中包含哪些瀏覽器?您的用戶使用哪些瀏覽器?什麼是您的用戶的慢度閾值?網頁上還有哪些其他標記? –

回答

0

我可以看到這個添加到站點輕微(非常輕微)的帶寬需求,但渲染時間並且點擊的響應時間應該不明顯。

如果這是一個大問題,我會建議基準比較兩種不同方法的真實影響。

+0

想知道在所有鏈接中的JavaScript是否會在初始頁面加載時運行,或者只有在單擊時纔會運行,這似乎會產生很大的差異。 –

+1

只有在點擊時纔會運行。可能會有一些額外的解析成本,但也不會引人注意。 – Rontologist

0

你是什麼意思,慢下來?

頁面加載時間?取決於您網頁上的鏈接數量。它必須是一個很大的顯着。執行時間處理時間?再次,不明顯。

要問的更好的問題是你哦。與有效刪除您的網站爲那些沒有JavaScript?另外,如果您擔心搜索引擎優化,您需要採取額外措施來確保您的網站仍然可以被編入索引。 (我懷疑Google會遵循這些網址......我猜可能是錯的)。


編輯:現在你上面的解釋你的情況,你可以很容易地只是「隱藏」在地址欄中。見this SO question

+0

嗯,我不知道JavaScript是在加載頁面還是隻在鏈接被點擊時運行......這會產生很大的差異。 –

+0

看我的編輯(根據您的問題與地址欄) – simshaun

+0

我已經在我的所有網頁上使用該元標記。它適用於第一個添加書籤的頁面,但鏈接在帶有地址欄的新Safari窗口中再次打開。閱讀第三個答案向下引用我添加到我的問題。 –