簡體   English   中英

window.open() 只是將 url 添加到我當前的 url

[英]window.open() simply adds the url to my current url

當我使用 window.open("www.google.com", "_blank");

window.open("www.google.com", "_blank");

打開一個新選項卡,但網址不是“www.google.com”,而是“=url-i-was-at=/www.google.com”。

這是代碼片段(也是唯一相關的代碼)。 http://jsfiddle.net/FUYTY/

在 jsfiddle 中,它的行為有點不同,但仍然無法正常工作。

我究竟做錯了什么?

您想訪問服務器www.google.com的根文檔,這是使用 URL https://www.google.com/完成的。 您提供了文檔www.google.com的相對 URL。

請記住, window.open接受相對網址和絕對網址,因此它不能假設您像在地址欄中使用www.google.com時那樣遺漏了https://


也許一個例子會有所幫助。 假設當前頁面是http://www.example.com/dir/foo.html

  • window.open("popup.html", "_blank")打開
    http://www.example.com/dir/popup.html
  • window.open("www.google.com", "_blank")因此打開
    http://www.example.com/dir/www.google.com

當您說您想要http://www.example.com/dir/www.google.com時,瀏覽器無法知道您實際上想要https://www.google.com/ ,因為后者可能是有效的。

您必須在您的網址中添加http://

$(document).ready(function () {
    $('#mybtn').on('click', function () {
        window.open("http://www.google.com", '_blank');
    });
});

修復: http : //jsfiddle.net/FUYTY/4/

嘗試預先添加 http:// (參見 Fiddle http://jsfiddle.net/lkritchey/FUYTY/3/

$( document ).ready(function() {
  $('#mybtn').on('click', function() {
      window.open("http://www.google.com", '_blank');   
  });
});

更多信息:如果您事先包含一個“/”,它會將您的字符串附加到根 URL。 如果您只是列出字符串,它會將其附加到當前的完整 URL。 如果您包含 http:// 或 https:// ,它知道只使用您放入字符串中的內容(即http://www.google.com

http://開頭您的網址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM