我正在觸發Window.open();
命令。在另一個選項卡中打開鏈接頁面。我想要的是當我點擊鏈接時,鏈接將在新窗口中打開,但應該位於同一頁面上。如何在使用window.open時保留在當前頁面
這可能嗎?
目前我正在使用這樣的。
function AddToDatabase(url) {
window.open(url, "_blank");
}
我正在觸發Window.open();
命令。在另一個選項卡中打開鏈接頁面。我想要的是當我點擊鏈接時,鏈接將在新窗口中打開,但應該位於同一頁面上。如何在使用window.open時保留在當前頁面
這可能嗎?
目前我正在使用這樣的。
function AddToDatabase(url) {
window.open(url, "_blank");
}
使用_self代替_blank。
window.open(url, "_self");
欲瞭解更多詳情。見This Link
與window.location不同。 href = url'?我的意思是* not * a pop-up。 – 2013-03-08 17:25:27
爲什麼這個CW? – 2013-03-08 17:28:43
window.location.href是一個屬性,它會告訴你瀏覽器當前的URL位置。屬性頁面將被重定向,其中window.open將爲該URL打開新窗口,此外,您可以將參數傳遞給windows.open,例如顯示工具欄,顯示狀態欄,窗口的寬度和高度等。 – 2013-03-08 17:31:02
這裏有一個彈出式下的一個例子:
var url = "example.com";
window.open(url, "s", "resizable=yes, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, copyhistory=no").blur();
window.focus();
如果這是你在找什麼,想怎麼樣。從Web開發的角度來看,這是非常不道德的,但它可以完成。
在Chrome中,如果窗口已經打開,這似乎工作。第一次會彈出,但是如果該窗口已經打開,那麼pop-under會起作用。 – 2013-03-08 17:29:39
是的,彈出窗口是網頁瀏覽器已經注意防止的東西。 – 2013-03-08 17:30:41
<html>
<body>
<script>
myWindow=window.open('','','width=200,height=100')
myWindow.document.write("<p>This is 'myWindow'</p>")
myWindow.focus()
</script>
</body>
</html>
您應該確定窗口的寬度和高度。
看看這個演示:http://jsfiddle.net/XyJW5/但不要忘記,讓您的瀏覽器彈出本網站
如果我不得不允許某個網站的彈出窗口,那麼你做錯了什麼。如果您將此代碼放入點擊處理程序中,則不會被大多數瀏覽器阻止。 – 2013-03-08 17:37:06
在Chrome中,這會導致彈出窗口,而不是彈出窗口。 – 2013-03-08 17:38:29
@RocketHazmat此示例僅用於顯示僅爲窗口定義寬度和高度的重要性。 – SaidbakR 2013-03-08 17:51:37
你的代碼不應該被改變頁面。你打電話給AddToDatabase()
?它是否來自a href
標籤?如果是這樣,默認操作是從鏈接發生,你需要防止這種情況。
您可以設置href屬性javascript:void(0)
<a href="javascript:void(0)" onclick="AddToDatabase('myUrl')">Add URL</a>
或者你可以有onclick屬性return false
我知道這個問題是超級老,但它完美地描述這個問題我需要回答,我能夠想出一個體面的解決方案,所以我想我會在這裏發佈。這是一個有趣的解決方法。
本質上你設置了一個超時延遲轉發當前頁面到新的url,然後在新標籤中打開當前url。所以:
function open_hidden_tab(new_url) {
var thisTimeout= setTimeout(function() {
window.location.href= new_url;
}, 500);
var newWindow= window.open(window.location.href);
if(!newWindow) {
clearTimeout(thisTimeout);
alert('Please allow pop-ups on this site!');
}
}
open_hidden_tab('https://google.com');
很顯然,你應該在網站上展示,而不是使用惱人警報功能的某種錯誤信息,但它爲這個例子的目的。
希望這可以幫助別人!
你可以使用這個。
<a href="terms.html" onclick="window.open(this.href, 'targetWindow', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=400,height=600');return false;" />Terms & Conditions</a>
其作品對我來說
瀏覽器設置控制window.open進行處理。 – j08691 2013-03-08 17:15:57
我們可以在客戶端處理任何插件嗎? – Moiz 2013-03-08 17:16:40
你的問題沒有意義。你想在新窗口中打開當前頁面嗎?這是可能的,儘管這不符合你的代碼是否它實際上是一個新的窗口或標籤。 – 2013-03-08 17:18:50