怎样用JS在两个纯html页面之间传递多个字符串参数?

Mi_yan 2020-07-21 09:24:41
我有两个html页,2.htm嵌套在1.htm的iframe框架里,1.htm调用了2.htm中的一个function函数,打开1.htm时,2.htm能够接收到1.htm传来的六个字符串参数send1~send6。请高手指点如何实现,请附上完整的代码。谢谢!
我的主要涉及代码如下:
1.htm代码:
<script type="text/javascript">
window.onload = function() {
function iframechild(id) {
return document.getElementById(id);
}
iframechild('iframebox').innerHTML = '<iframe id="childpage" name="childpage" src="2.htm" width="1600" height="730"></iframe>';
}
function InfoQuery(){
window.frames["childpage"].connectDB();
var send1="字符串1";
var send2="字符串2";
var send3="字符串3";
var send4="字符串4";
var send5="字符串5";
var send6="字符串6";
}
</script>
</head>
<body>
<button onClick="InfoQuery()">Query</button>
<div id='iframebox'></div>
</body>

2.htm代码:
<script type="text/Javascript">
function connectDB()
{
try{
var count=0;
var conn=new ActiveXObject("ADODB.Connection");
var rs=new ActiveXObject("ADODB.Recordset");
var filePath = location.href.substring(0, location.href.indexOf("2.htm"));
var path = filePath + "SLMixing_Alarm.mdb";
var path=path.replace('file:///','');
var connectString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path;
var selectString="select * from UnionQuery";
var tableString="";
conn.open(connectString);
rs=conn.execute(selectString);​
...全文
661 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
医手 2020-07-21
  • 打赏
  • 举报
回复
诶,发现已经不考虑浏览器兼容好多年了。 1.htm
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>1 Page</title>
        <style type="text/css">
            iframe {
                width: 800px;
                height: 400px;
            }
        </style>
        <script type="text/javascript">
            window.myData = {};
            myData.send1 = "字符串1";
            myData.send2 = "字符串2";
            myData.send3 = "字符串3";
            myData.send4 = "字符串4";
            myData.send5 = "字符串5";
            myData.send6 = "字符串6";
        </script>
    </head>
    <body>
        <h3>1.htm</h3>
        <iframe src="2.htm"></iframe>
    </body>
</html>
2.htm
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>2 Page</title>
        <script type="text/javascript">
            function alert2(s) {
                document.getElementById("pre1").innerHTML = s;
            }
            window.onload = function() {
                if (parent == null || parent == window) {
                    alert2("不在1.htm中");
                    return;
                }
                try {
                    var o = parent.myData;
                } catch (e) {
                    alert2(e + "\n不支持直接打开本地1.htm文件");
                    return;
                }
                var send1 = parent.myData.send1;
                var send2 = parent.myData.send2;
                var send3 = parent.myData.send3;
                var send4 = parent.myData.send4;
                var send5 = parent.myData.send5;
                var send6 = parent.myData.send6;
                var arr = [send1, send2, send3, send4, send5, send6];
                console.log(arr);
                document.getElementById("pre1").innerHTML = arr.join("\n")
            }
        </script>
    </head>
    <body>
        <h3>2.htm</h3>
        <pre id="pre1"></pre>
    </body>
</html>
Mi_yan 2020-07-21
  • 打赏
  • 举报
回复
let {send1,send2,send3,send4,send5,send6}=parent.myData; 在DW中编辑时,提示上面这句错误,网页运行也没反应,是格式不对吗?谢谢!
医手 2020-07-21
  • 打赏
  • 举报
回复
1.html

window.myData={};
myData.send1="字符串1";
myData.send2="字符串2";
myData.send3="字符串3";
myData.send4="字符串4";
myData.send5="字符串5";
myData.send6="字符串6";
2.html

let {send1,send2,send3,send4,send5,send6}=parent.myData;
console.log(send1,send2,send3,send4,send5,send6);
Mi_yan 2020-07-21
  • 打赏
  • 举报
回复
谢谢!

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧