您的位置:首页 > Web前端 > JavaScript

js中 frame的主窗口和子窗口之间的传值和方法调用

2017-12-23 16:48 330 查看




一:html页面中iframe嵌套页面的父页面和子页面js方法互相调用

一个布局div里嵌入左右两个frame

<div >

<div id="left">

<iframe id="leftFrame" src="/index/highframe.html" width="100%"

height="100%" name="high" frameborder="0"></iframe>

</div>

<div id="right">

<iframe id="rightFrame" src="/index/lowframe.html" width="100%"

height="100%" name="low" frameborder="0"></iframe>

</div>

</div>

1.主页面调用iframe中的函数方法:document.getElementById("leftFrame").contentWindow.函数名();

或者 window.frames("leftFrame").contentWindow.函数名()

或者 用jquery:window.$("#leftFrame")[0].contentWindow.函数名()

2.iframe调用主页main的函数方法:parent.函数名();or window.parent.函数名()/变量;

3.同级iframe页面之间调用,需要先得到父亲的window,然后调用同级的iframe得到window进行操作;

parent.$("#leftFrame")[0].contentWindow.函数名()/变量;

二:js格式化时间

//格式化时间

function dateFormat(oDate, fmt) {

var o = {

"M+": oDate.getMonth() + 1, //月份

"d+": oDate.getDate(), //日

"h+": oDate.getHours(), //小时

"m+": oDate.getMinutes(), //分

"s+": oDate.getSeconds(), //秒

"q+": Math.floor((oDate.getMonth() + 3) / 3), //季度

"S": oDate.getMilliseconds()//毫秒

};

if (/(y+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, (oDate.getFullYear() + "").substr(4 - RegExp.$1.length));

}

for (var k in o) {

if (new RegExp("(" + k + ")").test(fmt)) {

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));

}

}

return fmt;

}

调用:

var date=dateFormat(new Date(), "yyyy-MM-dd HH:mm:ss"); //yyyy-MM-dd

三:自定义URL Protocol 协议,web调用网页调用本地应用程序.exe文件,兼容各个浏览器的方法

一些应用软件可以在浏览器中点击一个url后自动启动,并执行操作。看了很多博客也总结了下。通过网站调用可执行程序,主要是修改注册表,注册 URL Protocol 协议。

window+r快捷键,输入 regedit 打开注册表

在注册表 左边最上面HKEY_CLASSES_ROOT那个树右键新建——项

双击名称可以修改数据里面的内容,右键可以新建字符串值

在defaulticon和command 的默认项填写exe的路径,这里用爱奇艺万能播放器测试一下,这样注册表部分就完成了。

注意到上面 command 项的值也可以为 C:\software\IQIYI Video\GeePlayer\3.0.40.3591\GeePlayer.exe "%1"

这个"%1"是传递给 updater.exe的参数。

加了后使用是我们就可以传参数了,

<a href="Uaiqiy://cid:110&username:mjq">

新建一个html文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>

<div>

<a href="Uaiqiy://">

open exe

</a>

</div>

</body>

</html>

在网页上直接一个超链接地址,协议://参数就可以了。这样在网页上点击就可以调用本地的exe文件了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: