2012-06-17 60 views
0

我有一個只能在網站上的特定頁面上運行的JavaScript函數。我應該使用onload標籤還是檢測URL?

該函數存在於網站上每個頁面之間共享的單獨的script.js文件中。

爲了確保此函數僅在特定頁面上運行,我當前將onload屬性硬編碼到我希望運行的頁面上的body標籤上,例如, <body onLoad="myFunction()">

我打算刪除這個,而是向我的函數添加一些代碼,從而獲取當前的URL,並且如果它與允許的URL列表中的某個URL相匹配,那麼它將運行。

是否值得這樣做,或者我是否應該只需要爲每個body標籤添加一個onload屬性?

或者是否有更好的解決方案只在特定頁面上運行功能?

+1

有沒有對您要撥打的MyFunction – 2012-06-17 12:13:28

+0

爲什麼不穿上''標籤類的腳本應用於網頁頁面的任何規範? – Pointy

+0

@目前有人遇到麻煩,只是主頁和其他一個子頁面,但這可能會改變。 –

回答

1

您可以查看當前的URL(location.href)。但是,找到一些標識符會更清晰。例如:

<body id="thePageIwant"> 
</body> 

然後:

$(function() { 
    if ($('#thePageIwant').length > 0) { 
     // do something 
    } 
}); 
+0

謝謝,我想我會採取類似的方法,但使用數據屬性,而不是類或ID。 –

相關問題