我第一次使用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中引用的特定网站而收到的消息?
谢谢!