【问题标题】:Refresh iframe when screen is clicked单击屏幕时刷新 iframe
【发布时间】:2013-05-16 14:43:24
【问题描述】:

对javascript不太熟悉。我已经进行了一些搜索,并且无法将此代码实施到我当前的项目中。

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

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

我想把它集成到这段代码中:

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

我该怎么做?

【问题讨论】:

  • 点击屏幕是什么意思?浏览器窗口的任何位置?
  • @meewok 是的,正确的,或者在单击外部时结束另一个我正在运行的 .launch 的 javascript
  • 如果 iframe 被点击并且来自外部域,它无法通知宿主窗口它已被点击。

标签: javascript


【解决方案1】:
window.addEventListeneder("click", windowClickHandler);

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

另见this question

【讨论】:

    【解决方案2】:

    您的问题中存在一些不清楚的问题。

    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 内有一个点击监听器并触发刷新。

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

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多