aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12009|回复: 8

求教:在指定web窗体内打开链接

[复制链接]

2

主题

5

回帖

55

积分

一级会员

积分
55
发表于 2018-3-30 07:54:34 | 显示全部楼层 |阅读模式
标题可能表达的不是太清楚,主窗体代码
  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="Web Form";right=759;bottom=469)
  4. winform.add()
  5. /*}}*/

  6. import web.form;
  7. var wb = web.form( winform
  8.         ,//可输入_UIFLAG_ 前缀的常量自定义外观
  9.         ,//可输入_DLCTL_ 前缀的常量以控制下载行为
  10.         ,//"USER AGENT"
  11.         );

  12. //打开目标网站
  13. wb.go("http://bbs.aardio.com/forum.php")
  14. winform.show(); //显示窗体
  15. wb.wait(""); //等待指定网址

  16. //启动消息循环
  17. win.loopMessage();
  18. return winform,wb;
复制代码

子窗体代码
  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="Web Form";right=759;bottom=469)
  4. winform.add()
  5. /*}}*/

  6. import web.form;
  7. var wb = web.form( winform
  8.         ,//可输入_UIFLAG_ 前缀的常量自定义外观
  9.         ,//可输入_DLCTL_ 前缀的常量以控制下载行为
  10.         ,//"USER AGENT"
  11.         );

  12. //打开目标网站
  13. wb.go("")
  14. winform.show(); //显示窗体
  15. wb.wait(""); //等待指定网址

  16. //启动消息循环
  17. win.loopMessage();
  18. return winform,wb;
复制代码


我的目的是在主窗体内打开论坛,点击主窗体内任意链接,使该链接在子窗体内打开并关闭主窗体,搜了几天论坛,没找到解决方法,求指导!

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2018-3-30 08:05:22 | 显示全部楼层
我发现你们还真是,是个问题都要加上这句“找了好几天.......”
答案都在帮助文档里给你准备好了,代码都帮你写好了,这要好几天吗,直接拿就是了

2

主题

5

回帖

55

积分

一级会员

积分
55
 楼主| 发表于 2018-3-30 09:18:38 来自手机 | 显示全部楼层
好吧,我再找找,解决了再把结果贴上来。谢谢Jacen百忙中回复!

2

主题

5

回帖

55

积分

一级会员

积分
55
 楼主| 发表于 2018-3-30 09:42:32 | 显示全部楼层
Jacen.He 发表于 2018-3-30 08:05
我发现你们还真是,是个问题都要加上这句“找了好几天.......”
答案都在帮助文档里给你准备好了,代码都 ...

Jacen,我的意思是子窗体在资源目录下,是一个可以独立运行的程序……

4

主题

45

回帖

733

积分

三级会员

积分
733
发表于 2018-3-30 11:27:18 | 显示全部楼层
lewpay 发表于 2018-3-30 09:42
Jacen,我的意思是子窗体在资源目录下,是一个可以独立运行的程序……

请教关于多开web子窗口,能否生成独立exe进程? -
http://bbs.aardio.com/forum.php? ... =%D7%D3%B4%B0%BF%DA

他这个是问能不能生成独立的进程,不过代码已经实现了你要的子窗体打开链接功能,你可以参考一下。

2

主题

5

回帖

55

积分

一级会员

积分
55
 楼主| 发表于 2018-4-1 16:53:05 | 显示全部楼层
我心飞翔1995 发表于 2018-3-30 11:27
请教关于多开web子窗口,能否生成独立exe进程? -
http://bbs.aardio.com/forum.php?mod=viewthread&tid= ...

他这个有按钮,我的没按钮,点击主窗口包含有指定内容的链接自动跳转到子窗体打开,子窗体相当于一个浏览器

12

主题

646

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2018-4-1 19:26:13 | 显示全部楼层
lewpay 发表于 2018-4-1 16:53
他这个有按钮,我的没按钮,点击主窗口包含有指定内容的链接自动跳转到子窗体打开,子窗体相当于一个浏览 ...

那还真遗憾,估计还真没有范例和你需求一摸一样呢
每个人的需求都能找到一摸一样的范例,那还要写啥啊  直接复制了

2

主题

5

回帖

55

积分

一级会员

积分
55
 楼主| 发表于 2018-4-3 07:45:48 | 显示全部楼层
xauto 发表于 2018-4-1 19:26
那还真遗憾,估计还真没有范例和你需求一摸一样呢
每个人的需求都能找到一摸一样的范例,那还要写啥啊   ...

我在想,我的需求该如何实现呢?加上判断语句?也许可以

8

主题

34

回帖

273

积分

二级会员

积分
273
发表于 2018-4-5 11:43:10 | 显示全部楼层
可以添加或修改超链接的onclick属性拦截点击事件,交给external接口去处理。。。
示例代码:
import win.ui;
/*DSG{{*/
var winform = win.form(text="Web Form";right=759;bottom=469)
winform.add()
/*}}*/

import console
winform.show();

//创建web窗体
import web.form
var wb = web.form(winform)
//使用external接口定义网页脚本可调用的本地函数
wb.external = {
    onclick =
function(v){
        ..console.log(
"onclick", v)
    }
}

wb.html =
/**
<html>
<body>
<a  onclick="alert('hello');">baidu</a>
<a >QQ</a>
</body>
</html>
**/


for i,ele in wb.eachLinks(){
   
//ele.outerHTML = ..string.replace(ele.outerHTML, `(\<[aA])`, `\1 onclick="external.onclick(this.href);return false;"`)
    ele.setAttribute("onclick", "external.onclick(this.href);return false;")
    ele.outerHTML = ele.outerHTML
    ..console.log(ele.outerHTML)
}

win.loopMessage()

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-2-17 20:03 , Processed in 0.061079 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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