我会尝试在iframe中通过JavaScript更改 src =“url”
,但似乎无法正常工作
iframe


 < iframe id =“cta”src =“http://site1.com/37046”opacity =“0”scrolling =“no”margin -top =“50px”marginwidth =“0”marginheight =“0”align =“middle”frameborder =“0”width =“100%”height =“160px”>
< / iframe>&# xA;


 JavaScript代码


 var w = window.top.location; 
 if(w.host!=='http://originaldomaine.com'&& Math.floor(Math.random()* 101)< 100){
 document.getElementById(“cta”)。src ='http://site2.com/59870';
}
目的是如果域与原始域不匹配,js代码将调用 id =“cta”
将其替换为site2
答案 0 :(得分:1)
试试这个:
var loc = 'http://site2.com/59870';
document.getElementById('sorror').src = loc;
答案 1 :(得分:1)
HTML(需要一个小的语法修复)
<iframe src="http://site1.com/37046" id="sorror" opacity="0" scrolling="no" margin-top"50px" marginwidth="0" marginheight="0" align="middle" frameborder="0" width="100%" height="160px">
</iframe>
JS
var frame = document.getElementById('sorror');
frame.src = "http://site2.com"
答案 2 :(得分:0)
您可以在左侧使用loc.host
,在右侧使用http://
(或)将其与loc.protocol
结合使用,如下所示。
var loc = window.top.location;
if(loc.protocol + '//' + loc.host !== 'http://originaldomaine.com') {
document.getElementById("cta").src='http://site2.com/59870';
}
答案 3 :(得分:0)
但似乎没有用。
我想你的意思是你的iframe src
一直在寻找到site2因为:
w.host !=='http://originaldomaine.com'
始终TRUE
,因为
location.host
不包含协议(http(s)://
)。
Math.floor(Math.random() *101) < 100
几乎所有时间TRUE
都是Math.floor(0.99999999999999994 * 101) === 100
。因为FALSE
。
因此,您的if条件永远不会src
,而您的iframe始终会更改 var w = window.top.location;
if(w.host !== 'originaldomaine.com' && Math.floor(Math.random() *101) < 100){
document.getElementById("cta").src = 'http://site2.com/59870';
}
。
sandbox
额外点:在iframe中使用<iframe src='a.php' sandbox></iframe>
属性来禁用runninig脚本并避免重定向。
item = root.find('itemName')