iFrame是否总是向“窗口”发送消息?

时间:2019-04-09 16:45:16

标签: javascript html iframe webview payment-processing

我第一次使用iFrame,并且正在从以下网站运行“北美洲代码示例”代码:https://developer.moneris.com/Documentation/NA/E-Commerce%20Solutions/Hosted%20Solutions/Hosted%20Tokenization

基本上,在代码中创建一个iFrame:

<iframe
  id=monerisFrame
  src="https://esqa.moneris.com/HPPtoken/index.php? 
  id=ht4RXXBKV9T52A8&css_body=background:green;&css_textbox=border- 
 width:2px;&css_textbox_pan=width:140px;&enable_exp=1&css_textbox_exp=width:40px;&enable_cvd=1&css_textbox_cvd=width:40px"
  frameborder='0'
  width="200px"
  height="30px">
</iframe>

,然后为类型为message的任何事件添加事件监听器:

window.addEventListener ("message", respMsg, false);

此侦听器呼叫respMsg

var respMsg = function(e) 
    {
      console.log(e)
      var respData = eval("(" + e.data + ")");
      document.getElementById("monerisResponse").innerHTML = e.origin + " SENT " + " - " + respData.responseCode + "-" + respData.dataKey + "-" + respData.errorMessage;
      document.getElementById("monerisFrame").style.display = 'none';
    }

我知道,监听message意味着您正在等待通过网络套接字发送到窗口的任何消息。我确实收到以下消息:“ https://esqa.moneris.com已发送-942-未定义-无效的凭据”。

我的问题是:

iFrame是否总是自动发送消息?还是由于我在iFrame中引用的特定网站而收到的消息?

谢谢!

0 个答案:

没有答案