Javascript和构建数据,然后返回iframe

时间:2013-05-06 05:21:49

标签: javascript iframe

我正在尝试使用此函数来构建我提供的数据并将其显示在我的IFRAME中。我只是不能让它显示任何东西。基于此代码,任何想法?

function playBlackjack()
{
   var data = "<table border=0 style='margin:auto'>"
   data += "<tr>"
   data += "<td><form><input type="BUTTON" onClick="Javascript:dealCards()" value="Deal > > >"></form></td>"
   data += showCards(0)
   data += "<td><form><input type="BUTTON" onClick="Javascript:hitCard()" value="< < < Hit Me"></form></td>"
   data += "</tr></table> "
   return productarea.document.writeln(data)
   productarea.document.close()
}

1 个答案:

答案 0 :(得分:0)

  1. 您确定没有跨域问题吗?您无法操纵跨域iframe的内容。
  2. 如果它在不同的域上,您可以使用消息传递。 例如,如果文档A包含包含文档B的iframe元素,并且文档A中的脚本在文档B的Window对象上调用postMessage(),则将在该对象上触发消息事件,标记为源自Window of Window文档A.文档A中的脚本可能看起来像

    var o = document.getElementsByTagName('iframe')[0];
    o.contentWindow.postMessage('Hello world', 'http://b.example.org/');
    
  3. 要为传入事件注册事件处理程序,脚本将使用addEventListener()(或类似机制)。例如,文档B中的脚本可能如下所示:

    window.addEventListener('message', receiver, false);
    function receiver(e) {
      if (e.origin == 'http://example.com') {
        if (e.data == 'Hello world') {
          e.source.postMessage('Hello', e.origin);
        } else {
          alert(e.data);
        }
      }
    }
    

    此脚本首先检查域是否为预期的域,然后查看消息,该消息将显示给用户,或者通过向首先发送消息的文档发回消息来响应。 / p>

    通过Invoking JavaScript code in an iframe from the parent page

    通过http://dev.w3.org/html5/postmsg/#web-messaging

相关问题