首先,我想说我是Javascript的新手,我只知道HTML // CSS。我目前正在使用Adfly的API为人们缩短代表我的链接,我写了一些Javascript来使用一些html,但我想知道如何在Adfly&#39之前对URL进行编码; s API使用它。由于其中的特殊字符数量,它需要编码,我知道有多种方式,如:
encodeURIcomponent()
encodeURL()
escape()
在他们之间他们做我需要的角色,但他们都没有单独做我需要的角色,我也不确定如何将它们用于我已经拥有的javascript。
这是我目前正在使用的代码:
使用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>
此问题也没有必要,但是可以在iframe中打开窗口吗?
编辑:
我设法将API生成的链接在iframe中打开,但这不是我的主要问题,但我会将代码放在下面,以便将来人们可以使用它。
<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 :(得分:0)
您应该调用encodeURIComponent
以防止处理输入值中的任何特殊字符。所以它应该是:
var url="http://api.adf.ly/stxt/API Key/" + enodeURIComponent(document.getElementById("url").value);
如果您希望它位于弹出窗口中的iframe中,则需要将包含<iframe>
元素的HTML写入窗口。
var w = window.open("", "_blank");
w.document.write("<html><body><iframe src='" + url + "'></body></html>");
如果您希望它在当前文档中的iframe中,您可以将其添加到HTML中:
<div id="iframe-container"></div>
并使用此Javascript:
document.getElementById("iframe-container").innerHTML = "<iframe src='" + url + "'>"