2013-05-21 54 views
0

不太熟悉JavaScript。我已经做了一些搜索,并且无法将此代码实施到我当前的项目中。单击屏幕时刷新iframe

基本上想在点击屏幕时刷新iframe。目前,我有这样的代码:

document.getElementById('').contentWindow.location.reload(true); 

我想将它融入这个代码:

$(".launch").loadthis({ direction: "left", connect: true }); 

我会如何呢?

+0

你是什么意思,当点击屏幕?浏览器窗口中的任何地方? –

+0

@meewok是的,更正或替代当点击外部结束另一个JavaScript我正在运行,就是。启动 – Nico

+0

如果iframe被点击并来自外部域,它不能通知托管窗口,它已被点击。 –

回答

1

在你的问题中有一些问题不清楚。

1)当你说“屏幕被点击”时,你是什么意思?

  • 任何地方在打开的浏览器窗口?
  • 在打开的浏览器窗口中的任何地方包括iframe?

2)您的IFRAME是浏览器窗口宽度和高度的100%吗?

无论如何,下面我打破你的问题,希望给你一个解决方案...

我们如何刷新网页?

可以使用刷新网页:

location.reload(true); 

我们如何刷新的iframe?

您在这里使用的代码可能会刷新一个IFRAME: Refresh an iframe

<iframe id="myiframe" src="http://google.com"></iframe> 
document.getElementById("myiframe").src = "http://www.google.com?"+(+new Date()); 

我们如何检测到点击?

您可以使用这里的解决方案: https://stackoverflow.com/a/2622026/1688441

document.onclick= function(event) { 
    // Compensate for IE<9's non-standard event model 
    // 
    if (event===undefined) event= window.event; 
    var target= 'target' in event? event.target : event.srcElement; 

    alert('clicked on '+target.tagName); 
}; 

遗留问题:

内IFRAME如果用户点击该怎么办?

如果用户在IFRAME中单击,并且我们控制IFRAME的代码,我们可以在IFRAME的HTML/JAVASCRIPT中包含一个单击监听器并触发刷新。

如果我们有不同的域名,由于安全原因,可以做的事情不多。

+0

非常感谢,非常感谢时间和帮助! – Nico

0
window.addEventListeneder("click", windowClickHandler); 

function windowClickHandler(event) { 
    document.getElementById('iframe_id').contentWindow.location.reload(); 
} 

另请参阅this question;