我有權訪問joomla版本,但不是源,我需要添加一個鏈接,必須在其他窗口/選項卡中打開。新窗口/標籤從href
我只能改變href字段的內容。
我嘗試用
javascript:window.open('http://url/')
與Chrome,但不與Firefox這項工作。
有什麼建議嗎?
我有權訪問joomla版本,但不是源,我需要添加一個鏈接,必須在其他窗口/選項卡中打開。新窗口/標籤從href
我只能改變href字段的內容。
我嘗試用
javascript:window.open('http://url/')
與Chrome,但不與Firefox這項工作。
有什麼建議嗎?
根據MDN,window.open()需要至少兩個參數。它還返回新打開窗口的對象,這會導致[object Window]
出現在原始窗口中。返回undefined
避免了第二個問題。這會工作:
javascript:window.open('http://url/', '_blank');undefined
舊代碼將通常使用的void
operator,其評估其唯一的操作數,併產生一個undefined
結果不管是什麼。因此,這也將工作:
javascript:void(window.open('http://url/', '_blank'))
在這兩種情況下,特殊的窗口名稱_blank
只是告訴瀏覽器打開一個新窗口或標籤。瀏覽器的設置決定了確切的行爲,因爲標籤瀏覽是在_blank
之後引入的。
只需使用一個_blank
target屬性,這將打開一個新窗口/標籤的鏈接(你無法控制哪一個時,瀏覽器會選擇基於點擊事件算法):
<a href="http://blah.com/path" target="_blank">Link</a>
不當然,爲什麼在使用「javascript:」協議的FF中無法工作,但JS在常規腳本標記中可能會起作用。 MDN entry on window.open也可能有助於閱讀。
你確定它沒有被作爲彈出窗口阻止嗎?你得到任何JavaScript錯誤? – Ian