首页 > 其他分享 >powerbuilder调用网页

powerbuilder调用网页

时间:2023-08-24 22:34:08浏览次数:34  
标签:调用 网页 ole powerbuilder object PB ls document

PowerBuilder与嵌入浏览器交互

 设置为可以编辑:

//ole_1.object.document.GetElementById("user").contentEditable = true
boolean bEdit
bEdit = ole_1.object.document.body.contentEditable
ole_1.object.document.body.contentEditable = not bEdit

2.获取网页源码

mle_1.text = ole_1.object.document.body.innerHTML

 

以下为参考资料 ///////////////////////////////////////////////////////////////////////

准备工作
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

标签:调用,网页,ole,powerbuilder,object,PB,ls,document
From: https://www.cnblogs.com/qzxff/p/17655321.html

相关文章

  • python调用SAP脚本下载库存报表MB52
    importmathimportos,sys,win32com.clientimportclipboardfrompprintimportpprintimportcsvdefget_mb52(session,args={},plant='0001'):result=download_from_sap(session,args=args,plant=plant)ifnotresult:#n......
  • Dubbo异步调用
    Dubbo异步调用原文出处:https://www.cnblogs.com/weir110/p/17455749.html一、前言“异步”作为性能优化的利器之一,对于系统优化是一种常见思路;Dubbo天然的异步模式,不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。本文将针对Dubbo异步使用展开介绍。二、......
  • zbar:Qt调用zbar做条码识别
    需求:Qt开发的一个程序,妹子总是说需要条码识别功能,没办法,只能加上这个功能 zbar编译:https://gitee.com/vvvj/zbar-windows 主要代码:#include"zbar.h"usingnamespacezbar;voidheihei::tool_tiaoma(){//qDebug()<<"条码===begin=====";QImageimg;......
  • Winform项目中出现 "已经可见的窗体不能显示为模式对话框。在调用 showDialog 之前应
    1问题描述最近做一个winform项目,启动程序弹出的加载进度窗体时,发生如标题所示的异常。2尝试debug根据异常提示,在进度窗体弹出前添加代码Visable=false;--未解决逐步debug调试发现Form弹框运行了2次,由此查出bug所在。由于我是用的单例模式,在Program.cs中运行的还是new......
  • 探索操作系统:内核、启动和系统调用的奥秘
    前言首先,对于有科班背景的读者,可以跳过本系列文章。这些文章的主要目的是通过简单易懂的汇总,帮助非科班出身的读者理解底层知识,进一步了解为什么在面试中会涉及这些底层问题。否则,某些概念将始终无法理解。这些计算机基础文章将为你打通知识的任督二脉,祝你在编程领域中取得成功!......
  • Windows中Jenkins更新后无法访问Jenkins网页端
    问题:升级完Jenkins后发现无法访问网页端,利用指令重启出现报错日志:十月17,20225:02:11下午executable.MainverifyJavaVersion严重:RunningwithJavaclassversion52,whichisolderthantheMinimumrequiredversion55.Seehttps://jenkins.io/redirect/java-suppo......
  • html调用音频文件
    在HTML中调用音频文件有多种方式,可以使用<audio>标签或JavaScript来实现。使用<audio>标签:<audio>标签是HTML5提供的用于嵌入音频的标签,可以通过指定音频文件的URL来调用音频文件。例如:<audiosrc="path/to/audio.mp3"controls></audio>在src属性中指定音频文件的路径,可......
  • html调用视频文件
    在HTML中调用视频文件有多种方式,可以使用<video>标签或JavaScript来实现。使用<video>标签:<video>标签是HTML5提供的用于嵌入视频的标签,可以通过指定视频文件的URL来调用视频文件。例如:<videosrc="path/to/video.mp4"controls></video>在src属性中指定视频文件的路径,可......
  • 网页图标文件获取并在html中调用
    获取网页图标文件有以下几种方式:自定义图标:可以使用设计工具(如Photoshop、Illustrator等)创建自定义的图标,并将其保存为图像文件(如PNG、JPEG等格式)。使用图标库:有许多免费或付费的图标库可供选择,如FontAwesome、MaterialIcons、Ionicons等。这些图标库提供了大量的矢量图......
  • 获取字体文件并在html中调用
    要获取字体文件,可以通过以下几种方式:使用系统字体:可以直接使用操作系统中已经安装的字体,无需额外获取字体文件。在CSS样式中使用字体名称即可,例如:body{font-family:Arial,sans-serif;}使用Web字体:Web字体是专门为网页设计的字体文件,可以通过网络获取。常见的Web字......