我尝试从网站网址中获取参数并传递给iframe网址。网址网址如下:
www.example.com/en/open-account/Redirect?linkID=demo1064&referral_id=0010962
上面的URL有2个参数(linkID和referral_id)。也许有更多参数(2-8个参数)。 它看起来像iframe:
<iframe frameborder="0" scrolling="no" class="frameboxlive" src="https://login.example.com/demo_signupiframe=1&linkID=demo1064=&referral_id=0010962=&ref= www.example.com/en/open-account/Redirect?linkID=demo1064&referral_id=0010962&clang=en" width="700" height="800" align="center"></iframe>
iframe网址必须自动生成并包含以下部分:
使用Javascript做任何建议吗?提前致谢。
答案 0 :(得分:1)
试试这个:
<iframe frameborder="0" scrolling="no" class="frameboxlive" src=""></iframe>
<script>
var mainUrl = "https://login.example.com/demo_signupiframe=1";
var urlParams = new URLSearchParams(window.location.search);
urlParams = urlParams.toString();
var ref = document.URL;
var clang = 'clang=' + document.location.pathname.split('/')[1];
var iframeUrl = mainUrl + '&' + urlParams + '&' + urlParams + '&' + ref + '&' + clang;
document.getElementsByTagName("iframe")[0].src = iframeUrl ;
</script>
答案 1 :(得分:0)
您可以使用以下代码段从网址获取所有查询字符串,操作并将其传递给iframe网址。
如果您想使用类似的东西静态检索对象
var linkID = getUrlVars()[&#34; linkID&#34;]; var referral_id = getUrlVars()[&#34; referral_id&#34;];
function getUrlVars() {
var vars = [], hash;
var query_string = window.location.search;
if (query_string) {
var hashes = query_string.slice(1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars[hash[0]] = hash[1];
}
return vars;
} else {
return false;
}
}
注意:在检索之前对URL组件进行编码。
答案 2 :(得分:0)
我遇到了类似的问题,只需要从URL中提取查询字符串变量即可。...
父母:
example.com?&booking=completed&bookingnumber=12345等...
在iframe中:
myapp.com <<缺少参数...
@Faly的回答对我有所帮助,但是我简化了它。它仍然是跨域的,并且到2020年11月都可以在所有浏览器中使用
在要嵌入iframe的父页面example.com中:
<iframe frameborder="0" class="frameboxlive" src="" height="800"></iframe>
<script>
var mainUrl = "myapp.com"; // the-page-that-you-want-to-embed
var urlParams = new URLSearchParams(window.location.search);
urlParams = urlParams.toString();
var ref = document.URL;
var clang = 'clang=' + document.location.pathname.split('/')[1];
var iframeUrl = mainUrl + '?&' + urlParams;
document.getElementsByTagName("iframe")[0].src = iframeUrl ;
</script>
就是这样。然后从父URL中用您的查询字符串填充“ mainUrl”:
myapp.com?&booking=completed&bookingnumber=12345