PowerBuilder与嵌入浏览器交互
2017-02-19 22:13
411 查看
准备工作
1. 新增一个Application应用,新增一个窗口。
2. 在窗口中新增一个OLE控件:Microsoft Web Browser,命名为old_1。
3. 新增一个TextBox网址输入控件,命名为sle_url,初始值为c:\temp\index.html。
4. 新增一个Button控件,命名为cb_go,clicked代码如下:
5. 新增文件c:\temp\index.html,内容如下:
PB如何调用网页中的脚本?
1. 在窗口中新增一个Button按钮:Invoke Javascript,代码如下:
2. 注意这里的大小写问题。JS区分大小写,PB不区分大小写,PB调用时将函数全部转化成了小写。假设JS中的函数是sayHello(),PB调用方式原则上应该也是sayHello(),但PB实际上在执行时转换成了全部小写sayhello(),这样JS在实际执行时就找不到sayhello()这个函数。所以,要想在PB中调用的JS函数应该全部都用小写作为函数名。
PB如何获取网页元素?
1. 在窗口中新增一个Button按钮:Fetch User Name,代码如下:
PB如何修改网页元素的属性?
1. 在窗口中新增一个Button按钮:Change User Name,代码如下:
PB如何调用网页元素的事件?
1. 在窗口中新增一个Button按钮:Click Link,代码如下:
PB如何响应网页中的Click事件?
1. 在ole_1的clicked事件中写入如下代码:
2. 当在网页中点击链接时,事件处理就会传到ole_1.clicked。
参考资料:
1. http://hi.baidu.com/starvv_w/blog/item/6264f7a23fef60b9caefd067.html
2. http://apps.hi.baidu.com/share/detail/2832257
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与嵌入浏览器交互
- Powerbuilder与嵌入Excel工作表交互百万数据记录(43619条26列)心得---用时30秒左右
- 将.net winform 通过wpf嵌入到浏览器中
- swing和java里嵌入浏览器
- 2013年初次接触PHP网站快速开发(2):php嵌入 对页面及浏览器实际效果的影响
- VC与Python交互(二)(Pythoncore嵌入解决import site出错的问题)
- Android 嵌入浏览器
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法 (转)
- 点滴收集JSP、HTML兼容头部信息,以及针对各种浏览器做相应嵌入兼容信息
- Silverlight 浏览器交互
- HTML5浏览器嵌入窗口程序解决方案
- 总结Flex与浏览器交互
- JavaScript事件流 HTML和CSS代码支持页面的外观,JavaScript代码支持页面的行为,而JavaScript与HTML之间的交互是通过事件实现的。事件,是文档或者浏览器窗口中发生
- 手机浏览器客户端交互设计适配之——屏幕大小
- 浏览器与web服务器间的交互
- 浏览器跟js交互、NPAPI之NPRuntime开发
- 个人对浏览器与servlet组件进行交互时的编码及解码的认识
- 浏览器和js交互、NPAPI之NPRuntime开发
- 浏览器 嵌入 SWF 文件兼容性
- 浏览器和服务器交互方式GET和POST的区别