2013-05-21 79 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;