適切

2017-02-28 9 views
-3

私は適切

var embed = "www.youtube.com"; 
 
console.log(embed); 
 
window.location.assign(embed);

しかし、このコードで私のウェブサイトから外部のURLに移動しようとしています動作しませんJavaScriptでURLに移動し、Webページはに行きませんVaRの埋め込み内のリンクが、 名前がMyWebSite/thepageofthatcode/www.youtube.com

window.location = "www.youtube.com"; 
 
window.location.href = "www.youtube.com";
に代わりに行きます

なぜこのようなことが起こったのですか?

+1

「WWWへhttp一部を追加する必要があります。 youtube.com "はURLではありません –

+0

あなたの質問に答えられる回答がたくさんあります。そのうちの1つを承認済みとしてマークしてください。 –

答えて

2

を試してみてください。さもなければ、ブラウザはそれがパスであると考えます。

var embed = "http://www.youtube.com"; 
 
console.log(embed); 
 
window.location.assign(embed);

+0

感謝、私はとても愚かな気分です... – ymmx

1

プロトコルを追加して機能させる。プロトコルがなければ、あなたのドメインの下でwww.youtube.comを検索します。その理由は、その方法にリダイレクトされているからです。

window.location.href = "http://www.youtube.com"; 
+0

ありがとう、私は今、とても馬鹿だと感じています... – ymmx

1

あなたはURLの前にプロトコルを使用する必要があります:あなたは外部のウェブサイトのためのhttpを追加することを確認してください

window.location.href = 'https://www.youtube.com'; 
1

それを動作させるためにプロトコルを追加します。プロトコルがなければ、www.youtube.comはあなたのウェブサイトの一部だと考えています。

これは問題です。しかし、ここでそれを修正するために、なぜ良いでしょう:これは、問題を解決し

// Use RegExp to test if embed already has the protocol 
// If not, prepend it to embed. 
if (!/^https?:\/\//i.test(embed)) 
    embed = 'http://' + embed; 

window.location.href = embed; 

RegExp guide

URL Syntax

1

、URLだけ

var embed = "http://www.youtube.com"; 
window.open(embed);