我想要实现的是当用户使用Instagram进行身份验证时,他们会被重定向到“http://domainnamehere./instagram#access_token=27744335.fcaef44.a95s9e741f3c4ea7bcad21d80809ca40”这样的页面
能够在网页的一部分上打印“27744335.fcaef44.a95s9e741f3c4ea7bcad21d80809ca40”字符串,即
<p>Here is your access token: ________</p>
我知道如何使用javascript打印整个网址,使用:
<h3 id="right">
<script type="text/javascript">
document.write(location.href);
</script>
</h3>
但是如何才能将其设置为仅获取部分网址?
我正在尝试实现的目标可以在这里看到http://theultralinx.com/instagram(点击“设置instagram”,进行身份验证,然后下一页显示访问令牌。
谢谢!
答案 0 :(得分:1)
您仍然可以查找URI解析器,但可以使用indexOf
和substring
等基本字符串函数获取,如下所示:
var uri = "http://domainnamehere./instagram#access_token=27744335.fcaef44.a95s9e741f3c4ea7bcad21d80809ca40";
var indexOfHashVar = uri.indexOf("access_token=");
// 13 is the number of characters of "access_token="
var token = uri.substring(indexOfHashVar + 13);
console.log(token);
正如@PhistucK在一些评论中建议的那样,你可能会使用window.location.hash
得到整个uri的哈希部分,因此我的样本可能会在第一行中改变:
var uri = window.location.hash;
答案 1 :(得分:0)
绝不使用document.write
,不鼓励使用<p>Here is your access token: <span id="access-token"></span></p>
。
这应该有用。
HTML -
window.addEventListener("load", function () {
// Getting the part of the URL that starts with #.
var hash = document.location.hash,
// Storing the string for which we search in the hash.
accessTokenParameter = "access_token=";
// Setting the found value as the content of the access-token element we created
// above by taking the part of the hash (substring) that begins after the
// parameter by getting the index of the character (indexOf) with which the
// parameter name starts and adding the length of the parameter name (and =)
// in order to get past the name and start from the value.
document.getElementById("access-token").innerHTML =
hash.substring(hash.indexOf(accessTokenParameter) +
accessTokenParameter.length);
}, false);
JavaScript -
window.onload =
为了支持Internet Explorer,您可以使用window.attachEvent
或命名该功能,并在检测到功能后使用{{1}}。
答案 2 :(得分:0)
<h3 id="right">
<script type="text/javascript">document.write(window.location.hash.split("access_token=")[1]); </script>
</h3>
答案 3 :(得分:-1)
你可以用这个
<h3 id="right"> <script type="text/javascript"> var href = location.href; href = href.replace("http://domainnamehere./instagram#access_token=",""); document.write(href); </script> </h3>
答案 4 :(得分:-1)
如果你的链接总是像问题中的链接(相同的域名;没有其他变量)你可以使用它:
var url =location.href ;
var res = url.slice(45);
console.log(res);