在页面上显示URL的一部分(即Instagram访问令牌)?

时间:2014-05-03 15:48:52

标签: javascript php instagram

我想要实现的是当用户使用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”,进行身份验证,然后下一页显示访问令牌。

谢谢!

5 个答案:

答案 0 :(得分:1)

您仍然可以查找URI解析器,但可以使用indexOfsubstring等基本字符串函数获取,如下所示:

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);