关于用webbroswer控件访问脚本变量的问题,请高手帮忙。

tenflee 2004-09-12 11:18:01
各位老兄,我是个delphi新手,却又被人急着追着要一个小软件,用来刷新页面,被追得有屁滚尿流的感觉,现在各位高手求救,感激大家来帮我的忙!
   在webbroswer控件里的ole功能里可以做到如下:
o :=WebBrowser3.oleobject.document.all.item('checkboxID',i);
这样我可以访问到页面时原一个名叫checkboxid的单选框,或是其它控制,局限是,必须这个控制有个名字,如果没有名字也就是ID或是NAME就无法访问,现在我想实现以下功能:
   1、如何调用网页里的脚本?
    比如有个脚本
function Post()
{
if (myname=="2"){alerl("你已经刷新过了!");}
}

就以上一个简单的脚本,如果用delphi代码来改变变量myname的值?

2.现在经常有脚本打开网页时会用OpenIFrameDialog之类的函数,打开的只是网页对话框,没有最大化和最小化按钮,能不能通过像javascript脚本一样parent.window.argsObject.args[1])用delphi的代码来访问你想要访问的框架网页?或是用代码控制它不能用对话打开,进入一个自己设定的框架?
   3、能否直接用delphi往页面里加javascript脚本?

     如能帮忙解决,一定重重有谢
     本人在广州天河区,只要能帮我解决这个问题,我一定重重感谢!
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mqjshanghai 2004-09-18
  • 打赏
  • 举报
回复
看一下就走
cronuz 2004-09-17
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
Range: IHTMLTxtRange;
begin
Range := ((WebBrowser1.Document as IHTMLDocument2).body as
IHTMLBodyElement).createTextRange;
Range.collapse(False);
Range.pasteHTML('<b>Hello!</b>');
end;
tenflee 2004-09-16
  • 打赏
  • 举报
回复
请问要怎么样加脚本呢?
蒋晟 2004-09-14
  • 打赏
  • 举报
回复
1 document.script
2 N
3 Y
cronuz 2004-09-14
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.csdn.net/member/login.asp');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Docs, ovElements: OleVariant;
i: integer;
begin
Docs := WebBrowser1.OleObject.Document;
ovElements := WebBrowser1.OleObject.Document.all.tags('INPUT');
for i := 0 to (ovElements.Length - 1) do
if (UpperCase(ovElements.item(i).type) = 'RADIO') and (ovElements.item(i).CHECKED) then
begin
showMessage(ovElements.item(i).Value);
ovElements.item(i).Click;
end;
end;

説明:先按「Button1」、以「CSDN」為例。
   在”没有名字也就是ID或是NAME”的情況下、也可模擬网页的動作。
   单选後、再按「Button2」
tenflee 2004-09-13
  • 打赏
  • 举报
回复
没有人愿意帮忙吗?各位?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧