标签: twebbrowser

TWebBrowser是否依赖于IE版本?

我正在考虑使用项目中Delphi默认托盘组件中的TWebBrowser组件,但我想知道它是否使用客户端计算机上安装的IE版本?

如果是:
那么我想它会分享它的历史,cookies,workoffline和类似的东西?
我能以某种方式将它们分开吗?
是否有任何webbrowser组件是免费的,并且不与客户端上的Internet Explorer共享?

windows delphi internet-explorer twebbrowser

3
推荐指数
2
解决办法
1万
查看次数

德尔福击中进入

我如何制作一个编辑框,以便当我按住光标仍然在其中时输入.然后它进入编辑框中的webbrowser中的那个网站?

谁能帮我?

delphi enter onkeydown twebbrowser

3
推荐指数
2
解决办法
2万
查看次数

TWebBrowser和FEATURE_BROWSER_EMULATION在运行时

有没有人尝试在运行时创建和销毁TWebBrowser并使用FEATURE_BROWSER_EMULATION切换浏览器模式,然后重新创建TWebBrowser以启用切换模式而不重新启动应用程序?

我想知道设置是否仅在启动应用程序时读取,或者是否创建了Web浏览器控件.

twebbrowser

3
推荐指数
1
解决办法
6283
查看次数

在TWebBrowser中也打开新页面

我已经创建了一个带有twebBrowser的应用程序.问题是当我点击一些链接时,例如gmail,它会在我的默认浏览器(即IE)的新窗口中打开.我如何让它像firefox或chrome等一样工作,打开窗口中点击的链接.网址应该在TWebBrowser的窗口中打开.我必须在运行时使用TWebBrowser在运行时创建一个新表单吗?这样的代码不需要,想法会做

提前致谢.

PS我的组织阻止Gmail,Facebook等.但是通过我的TWebBrowser,我可以打开它们.我的QA ppl可以在他们的日志中看到吗?我的猜测是否定的,从那时起他们就会阻止它.你对此有何评论?

delphi delphi-7 twebbrowser

3
推荐指数
1
解决办法
4153
查看次数

TWebBrowser(TEmbeddedWB)控件中的拼写检查程序

Internet Explorer 10内置了拼写检查功能,工作正常.我尝试创建一个小的HTML页面,用以下内容对其进行测试:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD>
<META name=GENERATOR content="MSHTML 10.00.9200.16721"></HEAD>
<BODY spellcheck=true contentEditable=true style="MARGIN: 0.5em">
<P>Theze ara mispeled wordz</P>
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

所需要的只是放置属性spellcheck=truecontentEditable=true.

我也试过添加<meta http-equiv="X-UA-Compatible" content="IE=10" />例如

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<META name=GENERATOR content="MSHTML 10.00.9200.16721"></HEAD>
<BODY spellcheck=true contentEditable=true style="MARGIN: 0.5em">
<P>Theze ara mispeled wordz</P>
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

就此而言,使用IE = edge而不是IE = 10没有任何区别: <meta http-equiv ="X-UA-Compatible"content …

delphi spell-checking c++builder webbrowser-control twebbrowser

3
推荐指数
1
解决办法
1045
查看次数

如何在TWebBrowser中始终加载新页面?

我正在尝试使用Browser.Navigate(URL)将网页加载到TWebBrowser中.但是,浏览器不会关心页面是否在线更新,所以只要我不重启程序就不会显示新页面.

一个更具体的例子:如果我导航到具有访问者计数器(作为图像)的网页,计数器将递增.如果我离开那个页面,然后我返回(不使用Back),计数器将不会递增.在Firefox中,它会增加.

这是我尝试过的,不会起作用:

const
  DLCTL_PRAGMA_NO_CACHE = $00004000;

procedure TBrowserFrm.LoadURL(URL: string);
var
  Flag: OleVariant;
begin
  Flag:=DLCTL_PRAGMA_NO_CACHE;
  Browser.Navigate(URL, Flag);
end; 


procedure TBrowserFrm.LoadURL(URL: string);
var
Flags: OleVariant;
begin
 Flags := 'navNoHistory, navNoReadFromCache, navNoWriteToCache';
 Browser.navigate2(URL, Flags);
end;
Run Code Online (Sandbox Code Playgroud)

有关如何使TWebBrowser加载真实页面的任何想法?

delphi twebbrowser

3
推荐指数
1
解决办法
7826
查看次数

缺少TChromium中的默认接口

我们正在尝试将内置浏览器组件从TWebBrowser更改为TChromium.它主要用于显示Google和Bing的地图.从javascript到Delphi的通信是用COM完成的.

尝试将浏览器更改为TChromium时,无法编译此代码.

if supports(fBrowser.defaultInterface, IOleObject, fOLE) then
Run Code Online (Sandbox Code Playgroud)

因为TChromium缺少defaultInterface.

编辑: 是否有可能仍然使用Chromium从javascript与Delphi进行通信?我知道它们不兼容,我必须重写代码.我只是想知道如何从javascript到delphi获得结果.注意我使用的是Delphi 2007,因此无法使用扩展的RTTI.

关心Roland Bengtsson

delphi com delphi-2007 twebbrowser

2
推荐指数
1
解决办法
1106
查看次数

在TWebBroswer Delphi 7中的网页上填写字段

我正在制作一个小程序,在我们供应商的网站上下订单.我需要填写页面中的3个字段.甚至不需要"提交"它.

是否有任何简单的方法或任何组件可以做到这一点(最好免费)

谢谢!

browser delphi twebbrowser

2
推荐指数
1
解决办法
2900
查看次数

WebBrowser1DocumentComplete和WebBrowser1NavigateComplete2

以下代码给出了几个错误,其中两个是:

  • [错误] Unit1.pas(28):未声明的标识符:'WebBrowser1NavigateComplete2'
  • [错误] Unit1.pas(34):未声明的标识符:'WebBrowser1DocumentComplete'

我想知道它们是否未在"使用"部分声明.有没有人知道为什么它不会编译.我从Delphi帮助中获取了代码.

此外,不会出现完成的"消息框"或"嘟嘟声".

unit Unit1;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, OleCtrls, SHDocVw, StdCtrls, MSHTML, activex;

type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    WebBrowser1: TWebBrowser;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
    Form1: TForm1;
    CurDispatch: IDispatch; {save the interface globally }

implementation

{$R *.dfm}
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
    if CurDispatch = nil then
    CurDispatch := pDisp; …
Run Code Online (Sandbox Code Playgroud)

delphi twebbrowser

2
推荐指数
1
解决办法
1404
查看次数

如何在TWebbrowser中获取JS脚本控制台输出?

我想在TWebbrowser中运行一个javascript代码并获取它的控制台输出.例如,如果我在控制台中运行此代码:

var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c); 
Run Code Online (Sandbox Code Playgroud)

我在控制台上得到这个输出:

The result is 5
Run Code Online (Sandbox Code Playgroud)

我用来运行带有TWebbrowser的JS脚本的代码是这样的:

twebbrowser1.navigate('javascript:var a = 2; var b = 3; var c = a +b ; console.log('The result is '+ c);');
Run Code Online (Sandbox Code Playgroud)

它工作,但我不知道如何获得控制台输出.有办法吗?

提前致谢 !

delphi mshtml twebbrowser

2
推荐指数
1
解决办法
1108
查看次数