搜索
aardio官方社区 门户 查看主题

wb控制window.showModalDialog打开的模态窗口节点?

发布者: ccbwx | 发布时间: 2018-3-31 23:49| 查看数: 206| 评论数: 10|帖子模式

碰到用window.showModalDialog打开的模态窗口,获取节点?
控制输入框和按钮

import win.ui;
import web.form;
/*DSG{{*/
mainForm = win.form(text="aardio form";right=708;bottom=430)
mainForm.add(
custom={cls="custom";text="custom";left=29;top=24;right=686;bottom=413;z=1}
)
/*}}*/

wb = web.form(mainForm.custom)
wb.noScriptErr=true;

wb.go("\res\showMsg1.html")


mainForm.enableDpiScaling();
mainForm.show();

return win.loopMessage();

//------------------------------------------------------------------
showMsg1.html 源码
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
        <title>主窗口</title>  
        <script type="text/javascript">
        function oper()  
           {
                var zd = document.getElementById("txtReturnValue").value
                var address = window.showModalDialog("return.html?random="+Math.random(),zd,"dialogHeight: 170px; dialogWidth: 320px;help: no;status: no;resizable: no; scroll:no;unadorned:on");
                document.myform.txtReturnValue.value= address;  
            }  
        </script>
    </head>  
    <body>  
       <form name="myform" method="post">  
          <div>
              <div>
                  <input type="text" name="txtReturnValue" /><input type="button" name="xxx" value="子窗口" onclick="oper()" />
              </div>
          </div>
       </form>  
    </body>  
</html>

//------------------------------------------------------------------
return.html 源码
<html>  
   <head>
      <meta charset="utf-8">
      <Title>子窗口</Title>  
      <script type="text/javascript">
          function returntest()  
          {
                 window.returnValue = document.getElementById("jsvalue").value;  
              window.close();  
          }
          function jsnum()  
          {
              var aa = window.dialogArguments;
              document.getElementById("jsvalue").value = aa
          }
       </script>
   </head>  
   <body onload="jsnum()">
      <form name="subfrom"><br><br><br><br><br><br>
         <center>
            <input type="text" id="jsvalue" name="jsvalue" />
            <br>
            <input type="button" onClick="returntest()" value="确定" />
         </center>
      </form>  
   <body>  
<html>

最新评论

ccbwx 发表于 2018-4-1 00:59:40

把截图放出来,想控制 子窗口里编辑框和按钮
Jacen.He 发表于 2018-4-1 02:27:12
window.showModalDialog 你可以重写成你自己的JS函数,明白怎么弄了吗?!

ccbwx 发表于 2018-4-1 12:21:33
本帖最后由 ccbwx 于 2018-4-1 12:24 编辑

感谢Jacen.He Jacen 回复,js重写?
我在百度上看了找了一遍2014年的文章通过c++ 说明可以通知mshtml搞,



ccbwx 发表于 2018-4-1 12:22:21
c++换成 用aardio怎么写...............................................
Jacen.He 发表于 2018-4-1 12:56:47
似乎你根本没看我的回复,即然回了也不看,也不思考,那我不用再回了
Jacen.He 发表于 2018-4-1 13:55:31
其实答案我已经在aardio中给你准备好了,
代码都已经准备好了自动完成就可以输入。

但是你们就是喜欢直接写好,复制就可以跑的代码,
但是你们提问的时候,怎么就不这么想呢,都喜欢神神秘秘的只发一两句,或者根本就没代码。


import win.ui;
/*DSG{{*/
var winform = win.form(text="Web Form 拦截showModalDialog";right=759;bottom=469)
/*}}*/

import web.form;
var wb = web.form( winform );

wb.NavigateComplete2 =
function(pDisp, url) {
   
var js = /*
        function showModalDialog(url,arguments,features){
            alert("想弹?不让你弹" + url)
            return;
        }
        function showModelessDialog(url,arguments,features){
            alert("想弹?不让你弹" + url)
            return;
        }
    */

    wb.document.getScript().execScript(js);
}

winform.show()
wb.html =
/**
    <script type="text/javascript">
    window.showModalDialog("about:这是弹出的")
    </script>
   
    这是自己了
**/


//启动消息循环
win.loopMessage();

Jacen.He 发表于 2018-4-1 13:56:12
ccbwx 发表于 2018-4-1 12:22
c++换成 用aardio怎么写...............................................

这都已经写好了,还在问怎么写,标准库里看 web.mshtml
ccbwx 发表于 2018-4-1 15:13:37
感谢Jacen,百忙之中,写的代码,我再消化消化

lvhoo 发表于 2018-4-1 22:11:19
小白表示没看懂。web.mshtml里没有NavigateComplete2

在web.form 里面倒是发现了。
xauto 发表于 2018-4-1 22:24:39
lvhoo 发表于 2018-4-1 22:11
小白表示没看懂。web.mshtml里没有NavigateComplete2

在web.form 里面倒是发现了。

你张冠李戴 看得懂就见鬼了
让看标准库的是 回答c++ mshtml 那篇论文

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-4-22 11:05 , Processed in 0.046877 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表