2016-04-22 18 views
0

erstens nur sagen, ich bin neu in Javascript Ich weiß nur wirklich HTML // CSS. Ich benutze derzeit Adflys API für Leute, um Links in meinem Namen zu kürzen, ich schrieb ein bisschen Javascript, um dies mit etwas HTML zu arbeiten, aber ich fragte mich, wie man die URL vor der Adfly API verwenden könnte. Aufgrund der Menge von Sonderzeichen in es, muss es codiert werden Ich weiß, dass mehrere Möglichkeiten, es gibt wie: auchencode URL mit Sonderzeichen Javascript

encodeURIcomponent() 
encodeURL() 
escape() 

und zwischen ihnen sie die Zeichen Ich brauche aber keiner von ihnen tun, um die Charaktere, die ich einzeln benötigen, Ich bin mir nicht sicher, wie ich sie in das Javascript implementieren würde, das ich bereits habe.

Hier ist der Code, den ich zur Zeit bin mit:

Javascript:

<script> 
function process() 
{ 
var url="https://api.adf.ly/stxt/API Key/" + document.getElementById("url").value; 
window.open(url, "_blank"); 
} 
</script> 

HTML:

<input type="text" id="url"> 
<br> 
<button>Go</button> 

Auch auf die Frage nicht notwendig ist, wäre es jedoch möglich sein, die öffnen Fenster in einem iframe?

EDIT:

ich es geschafft, die API-Link in iframe zu öffnen erzeugt zu bekommen aber das war meine wichtigste Frage nicht, aber ich werde unten setzen Code, damit die Menschen in der Zukunft sie verwenden können.

<script> 
function process() 
{ 
var url="https://api.adf.ly/stxt/API Key/" + document.getElementById("url").value; 
window.open(url, "openlink"); 
} 
</script> 

<input type="text" id="url"> 
<br> 
<button>Go</button> 
<iframe id="openlink"></iframe> 
+0

hmm, wenn Sie http benutzen, können Sie es nicht in Iframe (weil es https ist) ohne irgendeine Einstellung setzen. Ich weiß nicht, was das sind – jackjop

+0

danke für die kommentierung, ich habe in der Vergangenheit mit window.open (url, "iframe") oder etwas, ich weiß nicht mehr genau, es war vor einer Weile, aber das ist nicht so ein Problem im Moment. –

+0

Meinst du, öffne ein neues Fenster und mache dann einen iframe in diesem Fenster? Oder meinst du die URL in einem iframe des aktuellen Fensters anzeigen? – Barmar

Antwort

0

Sie sollten encodeURIComponent aufrufen, um zu verhindern, dass Sonderzeichen im Eingabewert verarbeitet werden. So sollte es sein:

var url="http://api.adf.ly/stxt/API Key/" + enodeURIComponent(document.getElementById("url").value); 

Wenn Sie es in einem Iframe im Popup-Fenster sein wollen, müssen Sie die HTML schreiben, die das Element in das Fenster enthält.

var w = window.open("", "_blank"); 
w.document.write("<html><body><iframe src='" + url + "'></body></html>"); 

Wenn Sie bedeutete, dass man es in einem Iframe in dem aktuellen Dokument sein möchten, können Sie dies zu Ihrem HTML hinzufügen:

<div id="iframe-container"></div> 

und verwenden diese Javascript:

document.getElementById("iframe-container").innerHTML = "<iframe src='" + url + "'>" 
+0

Ich versuchte die obere Option und es erzeugt überhaupt keinen Link, es lädt nur und hängt dann, Das ganze iFrame-Geschäft hat das funktioniert, bevor du deine Lösung gepostet hast, meine Methode ist oben –