我想从此网址获取哈希
http://www.mywebsite.com/#/aaaaaaaa
AAAAAAAA
并添加到iframe:
<iframe src="http://www.example.com/url/aaaaaaaa" frameborder="0">
Javascript代码:
<script>
var hhash = window.location.hash.substr(1);
alert(hhash);
</script>
答案 0 :(得分:0)
你的头衔和问题有点误导。
如果您只想打印哈希标记,可以创建一个元素并将innerText
设置为哈希,如下所示:
// Use hash instead of href here! :) This is just to make the example work
const lastPart = window.location.href.split( '/' ).pop();
document.querySelector( '.hash' ).innerText = lastPart;
&#13;
<div class="hash"></div>
&#13;
如果你想改变iFrame的src,可以使用与setAttribute结合的第一个例子。
// Use hash instead of href here! :) This is just to make the example work
const lastPart = window.location.href.split( '/' ).pop();
const src = 'http://example.org/url/' + lastPart;
document.querySelector( '.hash' ).setAttribute( 'src', src );
document.querySelector( '.url' ).innerText = 'iframe points to ' + src;
&#13;
<iframe class="hash"></iframe>
<div class="url"></div>
&#13;
答案 1 :(得分:0)
您还可以使用lastIndexOf()函数找到URL中最后一个/字符,然后使用substr()函数返回从该位置开始的子字符串:
var hhash =(window.location.href.substr(window.location.href.lastIndexOf('/') + 1));
document.write("<iframe src=\"example.com/url/\""+hhash+"frameborder=\"0\">");
答案 2 :(得分:0)
您可以使用:
获取哈希部分(不带#/
)
var hash = window.location.hash.replace('#/', '');
然后,您将获得当前的iframe src
属性:
var src = document.getElementsById('YourIframeId').getAttribute('src');
现在您更新iframe src
:
document.getElementsById('YourIframeId').setAttribute('src',src + '/' + hash);