PowerBuilder与嵌入浏览器交互
准备工作
1. 新增一个Application应用,新增一个窗口。
2. 在窗口中新增一个OLE控件:Microsoft Web Browser,命名为old_1。
3. 新增一个TextBox网址输入控件,命名为sle_url,初始值为c:\temp\index.html。
4. 新增一个Button控件,命名为cb_go,clicked代码如下:
ole_1.object.Navigate(sle_url.text)
5. 新增文件c:\temp\index.html,内容如下:
<script language="javascript">
function sayhello(msg)
{
alert(msg);
}
</script> This is a PowerBuilder test page.<br /> Your name: <span id="user_name">Ultra Man</span><br /> <a id="say_hello" onclick="javascript:sayhello('I am web browser');">Say Hello</a><br /> <a id="www_link" href="http://192.168.14.155">http://192.168.14.155</a><br />
PB如何调用网页中的脚本?
1. 在窗口中新增一个Button按钮:Invoke Javascript,代码如下:
ole_1.object.document.parentWindow.sayhello("1122")
2. 注意这里的大小写问题。JS区分大小写,PB不区分大小写,PB调用时将函数全部转化成了小写。假设JS中的函数是sayHello(),PB调用方式原则上应该也是sayHello(),但PB实际上在执行时转换成了全部小写sayhello(),这样JS在实际执行时就找不到sayhello()这个函数。所以,要想在PB中调用的JS函数应该全部都用小写作为函数名。
PB如何获取网页元素?
1. 在窗口中新增一个Button按钮:Fetch User Name,代码如下:
messagebox('', string(ole_1.object.Document.GetElementById("user_name").InnerText))
PB如何修改网页元素的属性?
1. 在窗口中新增一个Button按钮:Change User Name,代码如下:
ole_1.object.Document.GetElementById("user_name").InnerText = 'Super Man'
PB如何调用网页元素的事件?
1. 在窗口中新增一个Button按钮:Click Link,代码如下:
ole_1.object.Document.GetElementById("say_hello").Click()
PB如何响应网页中的Click事件?
1. 在ole_1的clicked事件中写入如下代码:
string ls_tagName, ls_id, ls_href ls_tagName=ole_1.object.document.activeElement.tagName if upper(trim(ls_tagName))="A" then
ls_id = ole_1.object.document.activeElement.id
ls_href =ole_1.object.Document.activeElement.href messagebox('', ls_tagName + '/' + ls_id + '/' + ls_href) ole_1.object.Navigate(ls_href)
end if
2. 当在网页中点击链接时,事件处理就会传到ole_1.clicked。
参考资料:
1. http://hi.baidu.com/starvv_w/blog/item/6264f7a23fef60b9caefd067.html
2. http://apps.hi.baidu.com/share/detail/2832257
PowerBuilder与嵌入浏览器交互的更多相关文章
- 在WPF中使用CefSharp嵌入浏览器
日常开发中,我们需要将一些Web页面嵌入到桌面客户端软件中.下面我们使用CefSharp嵌入浏览器来实现. 首先先介绍一下CefSharp嵌入式浏览器,它是基于Google浏览器的一个组件,我们可以在 ...
- 在WPF中使用CefSharp嵌入浏览器(转)
在WPF中使用CefSharp嵌入浏览器 日常开发中,我们需要将一些Web页面嵌入到桌面客户端软件中.下面我们使用CefSharp嵌入浏览器来实现. 首先先介绍一下CefSharp嵌入式浏览器,它 ...
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- Java-Swing嵌入浏览器(一)
今天要说的额是浏览器的第一个版本是用DJnative-swt和swt包开发的调用本地浏览器和webkit浏览器的示例 这是我的工程目录[源码见最后]: src下为写的源码,lib为引入的swt和DJn ...
- Java-Swing嵌入浏览器(二)
这是qtjambi利用webview来做嵌入式浏览器,下面是我的工程目录. 运行效果如下图: 代码相关: package qtBowers; import com.trolltech.qt.core. ...
- swing 嵌入浏览器
需求要在swing加一个浏览器,在网上找了一个挺方便的方法,现在把代码贴上来 力求方便. package com.vtradex.page.shipment; import static javafx ...
- Android WebView-应用内嵌入浏览器
移动应用开发,web app.Native app的讨论已经很久了,纯粹的web app还很少,多少能见到Native + web混合的app,混合的app是在Native app中写一个浏览器加载 ...
- 在winform中使用cefsharp.winform嵌入浏览器(含视频教程)
免费视频教程和源码: https://www.bilibili.com/video/av84573813/ 1. 开始使用CefSharp在Winform中嵌入网页 2. 解决重复打开Cefsharp ...
- 利用MFC实现浏览器的定制与扩展(JavaScript与C++交互)
原文地址:http://www.vckbase.com/document/viewdoc/?id=1486 浏览器的定制与扩展 作者:李汉鹏 下载源代 码 本文分如下章节: 前 言 在 ...
随机推荐
- [原创]Aop之使用Autofac+Castle 自动注入服务且动态代理服务实现拦截(非MVC控制器拦截)
public static class AutofacComponentManualRegister { /// <summary> /// 注册 /// </summary> ...
- [转] javascript中的变量和垃圾回收
[From] http://www.imooc.com/article/4585 基本类型和引用类型 js中的变量虽然不区分类型,但是实际上Ecmascript包含两种类型,基本类型和引用类型. 基本 ...
- [转] 用Python建立最简单的web服务器
[From] http://www.cnblogs.com/xuxn/archive/2011/02/14/build-simple-web-server-with-python.html 利用Pyt ...
- Java中filter内处理重定向遇到的问题
这是在Java中filter内处理重定向遇到的问题.本意是写一个做URL rewrite 的filter,来重写URL,同时在处理登陆过程中要杀掉当前session,创建新session来代替. 1. ...
- ndoejs创建多重文件夹
function mkdir(filepath){ var path=require("path") if(!fs.existsSync(path.dirname(filepath ...
- PIE SDK打开静止卫星数据
1. 功能简介 静止卫星是位于地球赤道上空约3.58万km处,与地面始终保持相对静止的卫星,静止卫星的特点是覆盖区域广,具有很强的机动灵活性,能够对特定区域进行分钟级高重复观测,可快速监测灾害目标的动 ...
- html自定义垂直导航菜单(多级导航菜单,去掉font-awesome图标,添加自己的箭头图标)
这次在原先html自定义垂直导航菜单的基础上做了比较大的改动: 1.去掉了font-awesome图标,上级菜单右边的箭头是自己用css写的,具体参考<css三角箭头>. 2.去掉了初始化 ...
- maven入门与常用插件使用
maven不仅仅是一款管理jar包的工具,还可以
- spring cloud 之 Feign的使用
1.添加依赖 2.创建FeignClient 原理:Spring Cloud应用在启动时,Feign会扫描标有@FeignClient注解的接口,生成代理,并注册到Spring容器中.生成代理时Fei ...
- 简单的CSS3鼠标滑过图片标题和遮罩层动画特效
此文转自:http://www.cnblogs.com/w2bc/p/5735300.html,仅供本人学习参考,版权归原作者所有! 这是一款使用CSS3制作的简单的鼠标滑过图片标题和遮罩层动画特 ...