How can I disable a certain Javascript block in WebBrowser

Some site has Hacker Code with Javascript and VBScript and I try to find a way to protect IE by avoiding these Hacker Code Block execute.
I had wrotten a BHO to monitor my IE, but how can I disable a certain javascript/vbscript block before the script executing in IE ?
LVL 2
xlt77Asked:
Who is Participating?
 
GranModConnect With a Mentor Commented:
PAQed with points refunded (500)

GranMod
Community Support Moderator
0
 
BlackTigerXCommented:
one way would be to have a proxy to avoid downloading such blocks

http://www.proxomitron.info/
0
 
xlt77Author Commented:
I won't to use third-party product, and I just want to implement it with delphi.
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
Eddie ShipmanAll-around developerCommented:
Not sure if it will help because I don't have time to test it.
Please check item No. 2 here:
http://www.delphipages.com/threads/thread.cfm?ID=101040&G=100927

I *know* it says to stop javscript errors but you can override all javascript
in the same manner. Only problem is that you will need to know *WHICH*
script to block. I'll leave that up to you.
0
 
xlt77Author Commented:
I am sorry that I show my question not clearly.
When I navigate a web site on internet , I want to forbidden a certain javascript block before this script code execute.
Forbidden it before executing ,  not dealing it on Runtime Error
0
 
Eddie ShipmanAll-around developerCommented:
I'm sorry you did not READ my answer correctly...

"but you can override all javascript in the same manner"

0
 
xlt77Author Commented:
Yeah, EddieShipman, thanks your commence!
I had tried your answer, in fact , the script has run before the documentcomplete event.

=====Here is the html=======
<html>
<head>
<script type="text/javascript" src="test1.js"></script>
<script type="text/javascript" src="test2.js"></script>

<script>
  alert('This is a test');
</script>
</head>

<body>
This is a test
</body>
</html>

=====Delphi code =========
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  showmessage(inttostr(webbrowser1.OleObject.document.all.tags('SCRIPT').length));
end;

And the result shows 'This is a test' is been displayed before the scripts length.

and I tried this code in DownLoadComplete event, I found DownloadComplete event ocused before javascript executing, but in DownloadComplete event , I can get only 1 Scripts item. Thus , in downloadComplete event
webbrowser1.OleObject.document.all.tags('SCRIPT').length  =  1

It's so confused that I can't get the whole scripts code before IE auto execute them.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.