aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 10841|回复: 6

请问web.kit怎么控制iframe里的节点?

[复制链接]

3

主题

12

回帖

95

积分

一级会员

积分
95
发表于 2017-12-23 17:34:26 | 显示全部楼层 |阅读模式
本帖最后由 wodetian55 于 2017-12-23 17:36 编辑

比如,我要操作某一个网页内ID为:"mframe"的iframe节点里的<div class="mytitle">需要获取的文本</div>。
我自己写的代码无法获取,在此向大家求教。

我自己调试部分代码如下:
  1.         var mf = wb.querySelector("#mframe");
  2.         var elem = mf.querySelector(".mytitle");
  3.         mainForm.edit.text = elem.innerText;
复制代码

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-23 20:51:21 | 显示全部楼层
wb.querySelector 可以获取节点的,参考我发的范例。

至于你那个节点为什么不行,因为你把能运行的代码留给你自己看了,所以猜不出来是什么情况,不擅长猜谜。

12

主题

40

回帖

424

积分

二级会员

积分
424
发表于 2017-12-23 20:51:46 | 显示全部楼层
提问要带代码,我也不知道怎么解决,把测试代码放这吧,方便别人测试

  1. import win.ui;
  2. import web.kit.form;

  3. /*DSG{{*/
  4. var winform = win.form(text="aardio form";right=759;bottom=469)
  5. winform.add(
  6. button={cls="button";text="获取iframe内节点文本";left=16;top=16;right=160;bottom=56;z=1}
  7. )
  8. /*}}*/

  9. import console
  10. webkit = web.kit.form(winform);
  11. webkit.html = /**
  12. <!DOCTYPE html>
  13. <html>
  14. <head>
  15.     <meta charset="utf-8" />
  16. </head>
  17. <body>
  18.         <iframe id="mainFrame" src="http://www.baidu.com" height="600" width="800">

  19.         </iframe>
  20. </body>
  21. </html>

  22. **/
  23. winform.button.oncommand = function(id,event){
  24.        
  25.         iframe = webkit.querySelector("#mainFrame");
  26.         console.log(iframe);
  27.         //百度搜索按钮id是su,怎么获取或修改按钮的内容
  28.         ele = iframe.querySelector("#su");
  29.         console.log(ele);       
  30.        
  31. }
  32. winform.show();
  33. win.loopMessage();
复制代码

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-23 21:13:20 | 显示全部楼层
iaauto 发表于 2017-12-23 20:51
提问要带代码,我也不知道怎么解决,把测试代码放这吧,方便别人测试

有些其他语言的基础知识,自己可以先去了解一下,
你的JS跨域了,浏览器如果让你做这么危险的事情那就是漏洞。

12

主题

40

回帖

424

积分

二级会员

积分
424
发表于 2017-12-23 21:32:42 | 显示全部楼层
Jacen.He 发表于 2017-12-23 21:13
有些其他语言的基础知识,自己可以先去了解一下,
你的JS跨域了,浏览器如果让你做这么危险的事情那就是 ...


web.form用的IE内核,可以通过wb.getWebform操作其他框架的节点,webkit因为精简不支持操作其他框架么?

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-12-23 22:00:49 | 显示全部楼层
iaauto 发表于 2017-12-23 21:32web.form用的IE内核,可以通过wb.getWebform操作其他框架的节点,webkit因为精简不支持操作其他框架么 ...
JS基础知识先去了解,在web.form里是一样的JS不能跨域.......

wb.getWebform是获取COM控件接口(只有能操作静态接口指针的语言才可以获取该接口,JS不行),至于WebKit为什么不支持COM控件,为什么IE有的功能WebKit就没有,是不是WebKit把这个功能给精简掉了,建议你去咨询一下原作者会更好一些。

3

主题

12

回帖

95

积分

一级会员

积分
95
 楼主| 发表于 2018-1-25 19:55:29 | 显示全部楼层
iaauto 发表于 2017-12-23 20:51
提问要带代码,我也不知道怎么解决,把测试代码放这吧,方便别人测试

非常感谢指教,我已经解决这个问题了,通过js脚本操作就可以了。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-6-13 20:10 , Processed in 0.079078 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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