2012-06-13 103 views
0

我有權訪問joomla版本,但不是源,我需要添加一個鏈接,必須在其他窗口/選項卡中打開。新窗口/標籤從href

我只能改變href字段的內容。

我嘗試用

javascript:window.open('http://url/') 

與Chrome,但不與Firefox這項工作。

有什麼建議嗎?

+0

你確定它沒有被作爲彈出窗口阻止嗎?你得到任何JavaScript錯誤? – Ian

回答

2

根據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之後引入的。

0

只需使用一個_blanktarget屬性,這將打開一個新窗口/標籤的鏈接(你無法控制哪一個時,瀏覽器會選擇基於點擊事件算法):

<a href="http://blah.com/path" target="_blank">Link</a> 

不當然,爲什麼在使用「javascript:」協議的FF中無法工作,但JS在常規腳本標記中可能會起作用。 MDN entry on window.open也可能有助於閱讀。

+0

我無法訪問html,我只能更改href字段內容 – JuanPablo

+0

我看到了,您正在嘗試將'href'屬性更改爲可在新選項卡/窗口中打開的屬性。該領域是否實施了衛生處理?如果不是的話,你可以跳出這個屬性並創建一個新值,例如'http://blah.com/path「target =」_ blank「 – buley