2016-06-04 8 views
0

Ich versuche, ein Javascript-Programm als Chrome-App zu schreiben, die den Titel sagt, und nehme die URL der aktuellen Webseite (nenne sie http://web.com), speicher sie in eine Variable, verwenden Sie diese URL später, um in ein Textfeld auf einer anderen Webseite eingegeben zu werden.Aktuelle URL abrufen, dann auf einer anderen Seite verwenden

Bisher habe ich:

window.onload = function alertUrl() { 
    var url = document.URL; 
    window.open("http://somewebsite.com"); 
    document.getElementById('idName').focus(); 
    document.getElementById('idName').value=url; 
    return; 
} 

und der HTML-Code, ruft es:

<input type="button" onclick="alertUrl()" value="Activate"/>

jedoch, wenn ich versuche, die Chrome-App zu laufen, ist es nicht die http://web.com bekommt , aber stattdessen http://somewebsite.com und läuft infinetely.

Wie bekomme ich die http://web.com, speichern Sie es in var url und dann ise es in der späteren Zeile: document.getElementById('idName').value=url;?

+0

window.onload wird jedes Mal beim Laden der Seite ausgeführt. Wenn Sie window.open dort einfügen, leitet es immer einigewebsite.com um. –

+2

Warum beenden Sie Ihre Taste mit ''? Das sollte nur nach ' 'verwendet werden. – Barmar

Antwort

1

Schauen Sie sich diese Geige https://jsfiddle.net/4knonqmq/. Ich habe deinen Code ausprobiert und das funktioniert ganz gut, als du gefragt hast.

<input type="button" onclick="alertUrl()" value="Activate"/> 
<input type= "text" id="idName"/> 
<script> 
window.onload = function alertUrl() { 
    var url = document.URL; 
    window.open("http://facebook.com"); 
    document.getElementById('idName').focus(); 
    document.getElementById('idName').value=url; 
    return; 
} 
</script> 

(Tut mir leid. Ich habe kommentiert könnte. Aber nicht genug Ruf)

+0

Der Geltungsbereich des Namens in einem benannten Funktionsausdruck ist nur der Funktionskörper. Sie können global nicht auf 'alertUrl() 'verweisen. – Barmar

+1

Das Posten einer Antwort anstelle eines Kommentars ist nicht der Weg, um Reputation zu verdienen. – Barmar

+0

@Barmar Das ist ein Missverständnis. Ich möchte sagen, dass ich nicht genug Reputation habe, um einen Kommentar hinzuzufügen. (Zu dieser Zeit) –

1

ändern document.URL-location.href.

Verwandte Themen