这是我的iframe HTML代码:
<ul id="titleee" >
<li><a href="http://adskpak.com/?type=2&id=jayvicious">CLick me</a></li>
</ul>
这是我的主页代码:
<iframe id="iframe" src="iframe1.php"></iframe>
<script>
$(document).ready( function(){
$('#iframe').contents().find('#titleee').click();
});
</script>
它似乎没有触发点击事件。
答案 0 :(得分:0)
我觉得这样的事情应该有用,虽然我不再做jQuery,只是vanilla Javascript。我相信你可以弄清楚如何在jQuery中做到这一点。
这是您的iframe代码:
<ul id="titleee" >
<li><a href="http://adskpak.com/?type=2&id=jayvicious">Click me</a></li>
</ul>
<script>
window.addEventListener("message", function() {
if (event.origin === 'http://adskpak.com') {
if (event.data === 'click the link') {
document.querySelector('#titleee a').click();
}
}
});
</script>
现在是您的主页代码:
<iframe id="iframe" src="iframe1.php"></iframe>
<script>
var iframeWindow = document.querySelector('#iframe').contentWindow;
// this needs to happen after the load event,
// but it is best if it happens on a user's action.
window.onload = function() {
iframeWindow.postMessage('click the link', '*');
}
</script>
我已经测试了这段代码并且它似乎有效,但是当我进行测试时我使用了google.com,它实际上提醒我一个跨域错误:
Load denied by X-Frame-Options: https://www.google.com/ does not permit cross-origin framing.
我不确定这是否与您相关,因为看起来您在自己的域名中做了所有事情,只是抬头。
答案 1 :(得分:0)
只需检查浏览器的控制台是否有错误: -
您可能会收到此错误: -
SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://www.goibibo.com" from accessing a cross-origin frame.
如果同时拥有父级和iframe ,这将有效。将页面和iframe的 document.domain 设置为相同的值,即您的域,然后进行检查。