我不确定这是否可行... 我正在尝试使用作为大型机URL一部分的字符串替换iframe中URL的特定部分。
即我正在尝试替换iframe链接以包含userID。
Main URL: https://web.example.com?userID=9553c6
<iframe src="https://app.example.com?[Insert userID here]"></iframe>
答案 0 :(得分:0)
如果我认为您的网站的内容位于地址https://web.example.com?userID=9553c6下,则可以使用例如来实现。 php
<body>
<iframe src="http://example.com?user_id=<?php echo urlencode($_GET['userId']) ?>"></iframe>
</body>
然后变量$_GET['userId']
的值为9553c6
或者您只能使用js,这会有点困难,因为您必须解析location.search
https://www.w3schools.com/jsref/prop_loc_search.asp并获取其中的特定部分。当然,参数userId
的值将来自主站点。
直接解决方案
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
iframe {
width: 100%;
height: 1000px;
}
</style>
</head>
<body>
<iframe src="http://fotokrajobrazy.warmia.pl/galeria/fota.php?nr=1004"></iframe>
</body>
<script>
window.onload = function () {
var res = location.search.match(/userId\=(\w+)/);
var fr = document.getElementsByTagName('iframe')[0];
fr.setAttribute('src', fr.getAttribute('src').replace(/(nr\=)\d+/, '$1'+res[1]));
};
</script>
</html>
然后您可以像这样编辑主网址: http://127.0.0.1/stack.html?userId=1003 和 http://127.0.0.1/stack.html?userId=1002 等等。iframe的网址也会更改。
答案 1 :(得分:0)
您需要一些简单的字符串悬挂。
您说您是通过JavaScript注入框架,所以我假设您的代码看起来像这样。
let
ifr = document.createElement('iframe'),
src = 'some/url/here?user={user-id}',
user_id = '123456';
src = src.replace('{user-id}', user_id)
;
document.body.appendChild(ifr);
关键行是带有.replace()
的行-这是我们用实际值替换占位符的地方。