.NET Forum / ASP.NET / General / September 2007
Can I embed an IE control in a webpage?
|
|
Thread rating:  |
jim - 14 Sep 2007 14:24 GMT OK...Don't ask why - it'll just make ya mad. It makes me mad just thinking about it. I swear....if I didn't need this job, I'd tell 'em where to embed their webbrowser control. But, since I do need it, here are my questions...
Can I embed an IE activex control in a webpage? I basically would like to be able to embed the same component used to create IE-based browsers into a webpage.
Since IE is already on Windows PCs already, would they have to load or register the component? I wouldn't think so.
Can I put it in a DIV that will resize with the page?
I Googled for an example of doing this (embedding an IE webbrowser control in a freakin' webpage), but have come up dry so far. Anybody know of any code showing such lunacy?
Thanks for your help!
jim
Roland Dick - 14 Sep 2007 15:09 GMT Hi jim,
jim schrieb:
> Can I embed an IE activex control in a webpage? I basically would like to > be able to embed the same component used to create IE-based browsers into a > webpage. have a look at http://www.lib.tsinghua.edu.cn/chinese/INTERNET/ActiveX/pax06.htm#I54 where ActiveX and the usage is explained. The clients don't have to register the object, but you have to do so on the server I think.
Hope this helps,
Roland
Michael Robinson - 14 Sep 2007 15:29 GMT > OK...Don't ask why - it'll just make ya mad. It makes me mad just thinking > about it. I swear....if I didn't need this job, I'd tell 'em where to embed [quoted text clipped - 16 lines] > > jim What is the goal? Wouldn't you get the same effect by just embedding the activex control directly rather than embedding the IE control and loading the activex control in it?
 Signature http://weblog.mkronline.com/
jim - 15 Sep 2007 00:47 GMT >> OK...Don't ask why - it'll just make ya mad. It makes me mad just >> thinking about it. I swear....if I didn't need this job, I'd tell 'em [quoted text clipped - 21 lines] > activex control directly rather than embedding the IE control and loading > the activex control in it? The goal (as crazy as it sounds) is actually to have a web page with a webbrowser control on it.
As far as I can tell (with the horrifically vague set of user specs I have been given) the goal of the webpage is to teach veiwers how to use an activex control in a webpage using the webbrowser control. From what I have been able to glean from this jumble of specs, the end goal for this web page is to tie together form and webform programming and move on to other activeX controls in later lessons.
The idea of using the webbrowser control was one thought up by senior management (who, of course, still can't program the time on their microwaves). Evidentally the "big boss" thought it would be "cool" to host one control inside another and the webbrowser control was the first thing that fell from his crumbling grey mass.
I was assigned this task because they thought it would be a good learning project for me. (Lucky me.)
Anyway....I have seen some controls hosted in web pages, and they seem to need some type of class id. Is there a place that I can get this class id? I assume it would be different for different versions of IE. I also assume that version 6 of IE would be the most widely distributed version at this time, and would probably be the one to us.
Know of any code samples that would show hosting activex controls in a div or adding/removing activex controls dynamically? A dynamically created, DIV-encased, hosted webbrowser control would be the holy grail of code samples for this project.
I am Googling my butt off, but have not found a single example of a webbrowser control being hosted in a web page.
Thanks so much for your help.
jim
Göran Andersson - 15 Sep 2007 12:08 GMT >> What is the goal? Wouldn't you get the same effect by just embedding the >> activex control directly rather than embedding the IE control and loading [quoted text clipped - 15 lines] > one control inside another and the webbrowser control was the first thing > that fell from his crumbling grey mass. In other words, there is no real goal at all. You are just doing it because someone thought that it should be cool.
I can't help to think that it would be confusing to use a webbrowser control as an example. Web programming is complicated enough, without having a browser in the browser.
I really think that you should suggest to use a different control as an example. A control that has even the slightest possibility to actually be useful in a web page.
> I was assigned this task because they thought it would be a good learning > project for me. (Lucky me.) [quoted text clipped - 12 lines] > I am Googling my butt off, but have not found a single example of a > webbrowser control being hosted in a web page. That's because they aren't. I have never ever even heard of anyone wanting to do this, as it's entirely pointless.
 Signature Göran Andersson _____ http://www.guffa.com
jim - 16 Sep 2007 06:40 GMT >>> What is the goal? Wouldn't you get the same effect by just embedding the >>> activex control directly rather than embedding the IE control and [quoted text clipped - 26 lines] > example. A control that has even the slightest possibility to actually be > useful in a web page. I *so* agree with you. I suggested a date picker control. It is useful in both places, consumes less resources and is less confusing than this puzzle wrapped in an enigma of a webpage that some (I hope) drunken manager scribbled onto a bar napkin.
>> I was assigned this task because they thought it would be a good learning >> project for me. (Lucky me.) [quoted text clipped - 15 lines] > That's because they aren't. I have never ever even heard of anyone wanting > to do this, as it's entirely pointless. The only point here that I can see is keeping my job. Doing this is like placing a calendar control inside another calendar control. Maybe you could do it, but why would you?
Sometimes I think that people just get drunk with power and the "do it because I say so" rule goes into effect. That seems to be the case here.
jim
Larry Bud - 19 Sep 2007 14:04 GMT > >> OK...Don't ask why - it'll just make ya mad. It makes me mad just > >> thinking about it. I swear....if I didn't need this job, I'd tell 'em [quoted text clipped - 24 lines] > The goal (as crazy as it sounds) is actually to have a web page with a > webbrowser control on it. Could you fake it? Would they know if you did?
I mean, you could take static images of IE, arrange them on a table, have a text box "URL" input, and retrieve a web page... Are they dumb enough to fall for it?
jim - 19 Sep 2007 22:52 GMT >> >> OK...Don't ask why - it'll just make ya mad. It makes me mad just >> >> thinking about it. I swear....if I didn't need this job, I'd tell 'em [quoted text clipped - 35 lines] > have a text box "URL" input, and retrieve a web page... Are they dumb > enough to fall for it? They're dumb alright, but maybe not that dumb. I won't know what URL they may type in to test the webpage.
jim
bruce barker - 14 Sep 2007 16:23 GMT yes, though the users may be warned about running an active/x control.
you can get the same effect with an iframe (which is really a seperate ie instance and has most of the same events).
you can put an iframe or active/x control in a div, but they will not resize on their own. you will need client script to size them.
-- bruce (sqlwork.com)
> OK...Don't ask why - it'll just make ya mad. It makes me mad just thinking > about it. I swear....if I didn't need this job, I'd tell 'em where to embed [quoted text clipped - 16 lines] > > jim jim - 15 Sep 2007 00:51 GMT > yes, though the users may be warned about running an active/x control. Even though it it already loaded and registered on their PC?
> you can get the same effect with an iframe (which is really a seperate ie > instance and has most of the same events). I think one of the goals of this project is to show the use of the webbrowser control on a form and a web page and to show how the control can be used exactly the same on both (with the same events, functions, etc.).
> you can put an iframe or active/x control in a div, but they will not > resize on their own. you will need client script to size them. Got it. Got any cool DIV resize code that I could learn from?
> -- bruce (sqlwork.com) > [quoted text clipped - 19 lines] >> >> jim Mike - 14 Sep 2007 18:08 GMT Even though you said "Don't ask why - it'll just make ya mad".
I'm curious on why in the world would you want the IE control embedded in a web page?
> OK...Don't ask why - it'll just make ya mad. It makes me mad just > thinking about it. I swear....if I didn't need this job, I'd tell 'em [quoted text clipped - 17 lines] > > jim jim - 15 Sep 2007 00:52 GMT > Even though you said "Don't ask why - it'll just make ya mad". > > I'm curious on why in the world would you want the IE control embedded in > a web page? The goal (as crazy as it sounds) is actually to have a web page with a webbrowser control on it.
As far as I can tell (with the horrifically vague set of user specs I have been given) the goal of the webpage is to teach veiwers how to use an activex control in a webpage using the webbrowser control. From what I have been able to glean from this jumble of specs, the end goal for this web page is to tie together form and webform programming and move on to other activeX controls in later lessons.
The idea of using the webbrowser control was one thought up by senior management (who, of course, still can't program the time on their microwaves). Evidentally the "big boss" thought it would be "cool" to host one control inside another and the webbrowser control was the first thing that fell from his crumbling grey mass.
I was assigned this task because they thought it would be a good learning project for me. (Lucky me.)
Anyway....I have seen some controls hosted in web pages, and they seem to need some type of class id. Is there a place that I can get this class id? I assume it would be different for different versions of IE. I also assume that version 6 of IE would be the most widely distributed version at this time, and would probably be the one to us.
Know of any code samples that would show hosting activex controls in a div or adding/removing activex controls dynamically? A dynamically created, DIV-encased, hosted webbrowser control would be the holy grail of code samples for this project.
I am Googling my butt off, but have not found a single example of a webbrowser control being hosted in a web page.
Thanks so much for your help.
jim
Phil H - 15 Sep 2007 23:26 GMT > > Even though you said "Don't ask why - it'll just make ya mad". > [quoted text clipped - 37 lines] > > jim Hi Jim
You have my sympathies if you are being driven by a boss who asks the impossible because he/she doesn't know what he/she is talking about.
The best approach is to go back and agree what the actual (broader) objective is and allow you to find the best solution.
I think you need to make it clear what the difference is between client-side and server-side technology. ASP.NET uses Java-script to create intelligent client-side behaviour to avoid round-trips (e.g. validation controls) but it is not equipped to go much beyond that. Active-X control simulation is not in its porfolio.
Unless of course anyone knows any different, but I doubt it.
jim - 16 Sep 2007 06:43 GMT >> > Even though you said "Don't ask why - it'll just make ya mad". >> [quoted text clipped - 62 lines] > > Unless of course anyone knows any different, but I doubt it. Thanks for the sound advice. Unfortunately sound advice is only useful when dealing with beings capable of logical thought.
What *should* have happened was that management should have come up with a goal and left it to the project leaders and workers to accomplish the goal. Micromanagement like this will kill morale - and eventually the company.
Still looking though.....
jim
Donn Felker - 19 Sep 2007 00:47 GMT Well, you could replicate the browsing process by using the HttpWebRequest object in .NET. You could create a UI that resembles a browswer and then recreate the requests and responses. NOT FUN AT ALL, but you COULD do it. :)
jim - 20 Sep 2007 09:06 GMT > Well, you could replicate the browsing process by using the > HttpWebRequest object in .NET. You could create a UI that resembles a > browswer and then recreate the requests and responses. NOT FUN AT ALL, > but you COULD do it. :) I don't think it would act like a web page. From what I understand about the HttpWebRequest object, it only returns the HTML (like the Inet control used to in VB6). And, that wouldn't prove his point of using a webbrowser control inside another webbrowser control.
These people will surf the webpage containing the control from within the control just to prove the concept.
Well, they would - but they won't now because it just won't work. You can't use a webbrowser control inside a webpage. It simply won't work.
At least that's what I'm telling him.
jim
Joe Smith - 21 Sep 2007 19:41 GMT Jim,
You can host the webbrowser control inside of IE but you will run into the following: (http://support.microsoft.com/kb/237685).
I have been trying to accomplish what you are trying for the following reasons:
When I found myself at various web pages that happened to reference a bible verse I wanted to be able to right-click on the verse and have the actual verse pop-up in it's own window at the location of the referenced verse. I originally used a combination of JavaScript and VBScript using “window.open” to accomplish this and it worked great. I did it this way so I could use HTML functionality to navigate to other verses or notes within the newly created bible verse window. It acted as a gateway to various bibles I have in a local database.
The problem is that IE7 now adds an ugly gray address bar at the top of the new window. I spent a lot of time creating a nice, pretty little window to show the verse in and that gray bar messes it up. It may be childish on my part but having to look at that gray bar makes my blood boil.
On a quest to get rid of the address bar I ended up creating a dll in .Net that has the webbrowser control within a windows form. In the window’s form load event I could write “Webbrowser1.ObjectForScripting = Me” to allow my original script to interact with the properties and methods contained in the dll. After making the dll a ComClass, registering it using regasm, and installing it in the GAC all worked great until I realized I lost half of the keyboard functionality with my new window.
I am now trying to achieve what I want by using an executable, which has led me into remoting. If I want to see a second verse along side the first verse I can use remoting to send a second verse request to the current instance of the executable and it will create a new window. At least this is what I envisioned. This has led me into a host of threading problems when trying to create the second window so I am currently stuck.
So my “lunacy” has been that I have spent hours trying to get rid of that ugly gray wart at the top of an IE7 window created with Window.Open. As I said before, I keep trying to use the webbrowser control because I just can’t achieve the same functionality by using something like the Richedit control.
If anybody out there has any suggestions or tips I would greatly appreciate it.
Joe
EggHeadCafe - .NET Developer Portal of Choice http://www.eggheadcafe.com
Juan T. Llibre - 21 Sep 2007 20:26 GMT Joe, you have to come to terms with the inevitable. You can't do that.
Jim berated me for giving him the same advice which he contritely admitted was good advice later.
Juan T. Llibre, asp.net MVP asp.net faq : http://asp.net.do/faq/ foros de asp.net, en español : http://asp.net.do/foros/ ======================================
> Jim, > [quoted text clipped - 34 lines] > EggHeadCafe - .NET Developer Portal of Choice > http://www.eggheadcafe.com jim - 21 Sep 2007 21:45 GMT > Jim, > [quoted text clipped - 45 lines] > > Joe Thanks for the info, Joe.
It seems to me that all of this "security" crap is, in reality, trying to save users from themselves. And, as each new "security feature" arrives, there are even more avenues around it (via social engineering and hacking).
From what I see in my daily work in network support is that all of this "security" stuff has not had one tiny dent in the infection or information collection rates of the average user. It has only made it more difficult to program useful applications.
If you want to save the users, educate them. Most will get it. Some won't. It is (as it always has been) survival of the fittest (in this case, those intelligent enough to safely use the technology at hand).
jim
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|