aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13788|回复: 5

[解决了]怎么阻止htmlayout打开超链接?

[复制链接]

52

主题

217

回帖

1708

积分

四级会员

积分
1708
发表于 2012-7-20 13:02:36 | 显示全部楼层 |阅读模式
本帖最后由 winner 于 2012-7-20 13:29 编辑

import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=423;parent=...;text="aardio Form";right=713 )
winform.add(  )
/*}}*/

import web.layout
import process;


var w = web.layout(winform)
w.html =
/**
        <a href="http://www.baidu.com">点击进入百度</a>
**/

w.onHyperlinkClick =
function (ltTarget,ltEle,reason,behaviorParams) {
    process.
execute(ltEle.getAttribute("href"))
}

winform.show()
win.loopMessage();


我想实现,点击之后用IE打开超链接,
但是像上面这样写,IE打开之后,他又在当前页面跳到了百度...

29

主题

658

回帖

4138

积分

超级版主

积分
4138
发表于 2012-7-20 13:23:20 | 显示全部楼层
最好不要使用单字母变量名.  



import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=423;parent=...;text="aardio Form";right=713 )
winform.add(  )
/*}}*/

import process;
import web.layout

var wbLayout = web.layout(winform)
wbLayout.html =
/**
        <a href="http://www.baidu.com">点击进入百度</a>
**/


//在捕获模式(消息自上向下传递)下拦截消息
wbLayout.sinking = {
    onHyperlinkClick =
function (ltTarget,ltEle,reason,behaviorParams) {
        process.
execute( ltEle.href )
        
return true;//取消默认行为
    }
}

winform.show()
win.loopMessage()

52

主题

217

回帖

1708

积分

四级会员

积分
1708
 楼主| 发表于 2012-7-20 13:29:47 | 显示全部楼层
quicker 发表于 2012-7-20 13:23
最好不要使用单字母变量名.  



多谢!!!!!!!!

29

主题

658

回帖

4138

积分

超级版主

积分
4138
发表于 2012-7-20 13:48:21 | 显示全部楼层
创建一个behavior也可以


import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=423;parent=...;text="aardio Form";right=713 )
winform.add(  )
/*}}*/

import web.layout
var wbLayout = web.layout(winform)

import process;
namespace web.layout.behavior.shellLink{
    sinking = {
        onHyperlinkClick =
function (ltTarget,ltEle,reason,behaviorParams) {
            ..process.
execute( ltEle.href )
            
return true;//取消默认行为
        }
    }   
}

wbLayout.html =
/**
        <a href="http://www.baidu.com" style="behavior:~shell-link;//添加行为">点击进入百度</a>
**/


winform.show()
win.loopMessage()

12

主题

20

回帖

396

积分

二级会员

积分
396
发表于 2012-7-20 14:42:44 | 显示全部楼层
import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=423;parent=...;text="aardio Form";right=713 )
winform.add(  )
/*}}*/
import web.layout
import process;

var w = web.layout(winform)
w.html = /**
        <a href="http://www.baidu.com" target="_blank">点击进入百度</a>
**/
w.onHyperlinkClick = function (ltTarget,ltEle,reason,behaviorParams) {
    process.execute(ltEle.getAttribute("href"))
}
winform.show()
win.loopMessage();

52

主题

217

回帖

1708

积分

四级会员

积分
1708
 楼主| 发表于 2012-7-22 11:16:46 | 显示全部楼层
cnruby 发表于 2012-7-20 14:42
import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=423;parent=...;text="aardio Form";right=7 ...

这个也好使...
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-9-9 14:08 , Processed in 0.056468 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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