• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5跨域通讯之postMessage的用法总结_html5教程技巧

html5跨域通讯之postMessage的用法总结_html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html5,postMessage等相关知识,匿名希望在学习及工作中可以帮助到您
postMessagePortal.html 页面代码

var targetOrigin = "http://22527.vhost20.boxcdn.cn";

var defaultTitle = "Portal";
var notificationTimer = null;

function messageHandler(e) {
if (e.origin == targetOrigin) {
notify(e.data);
} else {
// ignore messages from other origins
}
}

function sendString(s) {
document.getElementById("widget").contentWindow.postMessage(s, targetOrigin);
}


function notify(message) {
stopBlinking();
blinkTitle(message, defaultTitle);
}

function stopBlinking() {
if (notificationTimer !== null) {
clearTimeout(notificationTimer);
}
document.title = defaultTitle;
}

function blinkTitle(m1, m2) {
document.title = m1;
notificationTimer = setTimeout(blinkTitle, 1000, m2, m1)
}

function sendStatus() {
var statusText = document.getElementById("statusText").value;
sendString(statusText);
}

function loadDemo() {
document.getElementById("sendButton").addEventListener("click", sendStatus, true);
document.getElementById("stopButton").addEventListener("click", stopBlinking, true);
sendStatus();
}
window.addEventListener("load", loadDemo, true);
window.addEventListener("message", messageHandler, true);

跨域通讯


传递信息:








postMessageWidget.html页面的代码

var targetOrigin = "http://www.weixiu0376.cn";

// TODO whitelist array

function messageHandler(e) {
if (e.origin === "http://www.weixiu0376.cn") {
document.getElementById("status").textContent = e.data;
} else {
// ignore messages from other origins
}
}

function sendString(s) {
window.top.postMessage(s, targetOrigin);
}

function loadDemo() {
document.getElementById("actionButton").addEventListener("click",
function() {
var messageText = document.getElementById("messageText").value;
sendString(messageText);
}, true);

}
window.addEventListener("load", loadDemo, true);
window.addEventListener("message", messageHandler, true);


显示接收信息:


您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位_html5教程技巧
  • 2018-12-03Pace.js的原理是怎么样的?
  • 2018-12-03html5中当鼠标滚轮正在被滚动时运行的脚本的事件onmousewheel
  • 2018-12-03响应式编程(Reactive Programming)介绍
  • 2018-12-03xml跟html有关系吗?
  • 2018-12-03如何判断一款android应用是主要基于html5还是native控件开发
  • 2018-12-03推荐10款提示语源码(收藏)汇总
  • 2018-12-03H5怎么做出拖拽效果
  • 2018-12-03断点续传原理是什么?怎么利用html5实现文件断点续传
  • 2018-12-03淘宝手机客户端有多少页面是 Web 模式 (包括 HTML5) 的?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • iview的select下拉框选项错位怎么处理
    • JavaScript之包装对象
    • html5如何实现简单进度条效果?动态进度条的实现(代码示例)
    • HTML5无刷新改变当前url的代码
    • HTML5里的placeholder属性使用实例和美化显示效果的方法
    • HTML5游戏开发-Box2dWeb应用(一)-创建各种各样的刚体
    • h5canvas实现雪花飘落的特效代码
    • HTML5/CSS3 诱人的实例 -模仿优酷视频截图功能的详解
    • html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
    • HTML5 Canvas 起步(2)-路径

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有