View Full Version : IE filter
techno_race
08-18-2007, 04:01 PM
Does anyone know why this doesn't work?
body {
filter: dropShadow(offx=10, offy=10, positive=0);
}
:confused: :mad:
filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=10, OffY=10, Positive=false);Filters are proprietary, however, and will only work in IE with ActiveX.
techno_race
08-18-2007, 04:35 PM
Hmph. Then why does:
body {
filter: blur(direction=90, add=0, strength=10);
}
work in Firefox? And please check your PMs.
Spiritvn
08-18-2007, 04:38 PM
within my knowledge, filter often works fine on IE, a little works on FF. Some have different result between IE & Firefox, such as the filter control image opaticy...
Hmph. Then why does [the Blur filter] work in Firefox?It doesn't.
within my knowledge, filter often works fine on IE, a little works on FF.As I said, it's purely an IE proprietary property -- they're basically just badly-written interfaces to DirectX functions. No other browser supports filters at all.
jscheuer1
08-18-2007, 06:28 PM
Yeah, but if you squint your eyes . . . I wouldn't rule out the possibility of other browsers supporting some or all of the IE proprietary filters. Opera now has limited support for scrollbar styles, using the same syntax as IE, but these are not filters. Other reasons why a particular IE proprietary filter might appear to work in another browser:
IE emulation - at least some recent versions of two browsers that I am aware of (NS and FF) either have built into them or can have added to them an IE emulation mode.
Accidental syntax cross pollination - this is a made up on the spot term that I mean to say that some browser, somewhere, may have its own way of doing something and that the IE proprietary syntax or one of its possible variants, as used somewhere (in scripting, style, whatever) may trigger that in that browser.
Confusion - you are confusing for example, the blur() object with the IE proprietary filter:blur.
Yeah, but if you squint your eyes . . .Heh :)
I wouldn't rule out the possibility of other browsers supporting some or all of the IE proprietary filters.None are supported -- I did double-check after techno_race seemed so certain that Blur worked in Fx, but I can't find any mentions of filters in other browsers.
Opera now has limited support for scrollbar styles, using the same syntax as IEKonqueror too.
IE emulation - at least some recent versions of two browsers that I am aware of (NS and FF) either have built into them or can have added to them an IE emulation mode.Dean Edwards' IE emulation script, is this is what you mean, doesn't handle filters.
jscheuer1
08-18-2007, 07:25 PM
Dean Edwards' IE emulation script, is this is what you mean, doesn't handle filters.
Never heard of it that I can recall. What I was referring to are recent NS versions that do an IE mode and the FF extension that may or may not be current to FF 2.0+ (I did try it out in FF 1.0.5 or so, I have no reason to emulate IE in FF) that allows FF to do the same.
Both of these require an installed IE on the partition/vm/whatever, and probably under Windows only.
Ah -- that's not IE emulation, that's actual IE, running in the browser's interface. I thought you meant this one (http://dean.edwards.name/weblog/2005/03/ie-emulator/).
jscheuer1
08-18-2007, 10:53 PM
Ah -- that's not IE emulation
Picky, picky. It really is IE emulation though. My reason for saying so is that it doesn't render exactly as IE would, just pretty much. The fact that it uses dll's and whatnot from an installed IE browser doesn't make it 'not an emulation'. It just isn't a 'stand alone' (not to be confused with the misnamed evolt browsers of the same designation, which also require an installed IE and therefore do not truly 'stand alone') emulation.
It really is IE emulation though. My reason for saying so is that it doesn't render exactly as IE would, just pretty much. The fact that it uses dll's and whatnot from an installed IE browser doesn't make it 'not an emulation'.The Firefox extension, at least, just uses the IE ActiveX control. I suspect others do the same. It's not a case of "just using DLLs and whatnot," it uses the DLL -- the one that does the rendering. The only thing that's different is the GUI surrounding it.
jscheuer1
08-19-2007, 11:45 AM
The Firefox extension, at least, just uses the IE ActiveX control. I suspect others do the same. It's not a case of "just using DLLs and whatnot," it uses the DLL -- the one that does the rendering. The only thing that's different is the GUI surrounding it.
We are really quibbling over semantics and/or over details. My point is that however it is done, it qualifies in my book as an emulation because, not only is the surrounding GUI different, not all of the rendering comes out exactly as it would in IE, at least not in either NS 8 or FF with the extension that I tested it with a year or so ago. Perhaps they have gotten better in the meantime.
Added:
Main Entry: em·u·la·tion
Pronunciation: "em-y&-'lA-sh&n, -yü-
Function: noun
1 obsolete : ambitious or envious rivalry
2 : ambition or endeavor to equal or excel others (as in achievement)
By that definition, it would be emulation even if they got it exactly right.
We are really quibbling over semantics and/or over details.I'm not entirely sure if we are or not -- you seem to be under the impression that using IE to render something in a different GUI is equivalent to using something else that attempts to emulate IE, which leads me to believe that perhaps you're not aware that the actual IE control is used, or perhaps you're thinking of different projects to me.
not all of the rendering comes out exactly as it would in IE, at least not in either NS 8 or FF with the extension that I tested it with a year or so ago.Really? This certainly shouldn't happen, and is indeed an indicator of emulation, unless of course it's similar to evolt's standalone IEs in that it conflicts somewhat with the existing IE.
An emulator duplicates (provides an emulation of) the functions of one system with a different system, so that the second system behaves like (and appears to be) the first system.
By [the non-technical] definition, it would be emulation even if they got it exactly right.Still not when it actually uses IE to do the rendering.
jscheuer1
08-19-2007, 12:51 PM
I was using the non-technical definition. According to that, any and all means used to equal or excel qualify.
But, that part of the discussion is silly. To answer your other question, yes. However hard they tried, and by whatever means they employed, neither the FF extension nor the IE mode in NS 8 that I tested were 100%.
I was using the non-technical definition. According to that, any and all means used to equal or excel qualify.Other than actually being the object of emulation, surely? By that definition, I emulate myself quite admirably.
But, that part of the discussion is silly. To answer your other question, yes. However hard they tried, and by whatever means they employed, neither the FF extension nor the IE mode in NS 8 that I tested were 100%.Were they the same sort of differences noted in "standalone" IEs (lack of ActiveX, filters, &c.)?
jscheuer1
08-19-2007, 01:13 PM
One may certainly emulate/imitate oneself.
The rendering in these 'emulators' (I'll meet you half way on that one by quoting it) was off by pixels here and there and sometimes in javascript errors reported using the IE error reporting GUI, that IE itself did not report. These sometimes even broke scripts that otherwise were fine in the real IE. Filters worked. I don't think I tested them on things like Ajax or other Active X stuff.
Added:
I just tested NS 8.1 which I had lying around installed on this machine. It appears to do IE style Active X Ajax objects just fine.
Interesting, what did you use exactly?
jscheuer1
08-19-2007, 03:56 PM
For the earlier tests I used NS 8.0 on a service pack 2 XP machine running IE 6, and on the same machine FF 1.0.5 or FF 1.5, probably 1.0.5 using the 'emulator' extension. I do not recall the precise code that I ran on those, but I used them both extensively for at least a month each, NS 8.0 was even my primary browser for awhile back then.
For the current test (see added note to my previous post if it wasn't there when you last read it) I used NS 8.1 in IE rendering mode with IE 7 as the installed IE browser on an XP Media Edition which is post service pack 2 so included that code without being upgraded.
I tried out in NS 8.1's IE rendering mode DD's Ultimate Fade-in slide show (v1.51) (http://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm) right from the demo page and it faded just fine. For the Ajax test, I used a local copy of Dynamic Ajax Content (http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm) which I had modified to force IE to use Active X. I even played with the code a bit to make sure NS 8.1 was following the Active X branch (else if (window.ActiveXObject)) and it was. It functioned just like IE, even throwing a security error locally if I allowed it to follow the if (window.XMLHttpRequest) branch. When it followed the Active X branch it retrieved the content and worked just fine, just like IE 7 does.
using the 'emulator' extension.Aha -- here we have the root of the problem. I was under the impression that you were using something like IETab (http://ietab.mozdev.org/). This "emulator" does indeed sound a lot more like the aforementioned attempt by Dean Edwards.
NS' IE mode functions as IETab does, embedding rather than emulating IE.
djr33
08-19-2007, 05:16 PM
Emulation is like simulation.
A flight simulator used to actually fly a plane is no longer a simulator.
Using IE itself to render something is not emulating, but using.
jscheuer1
08-19-2007, 07:55 PM
Aha -- here we have the root of the problem. I was under the impression that you were using something like IETab (http://ietab.mozdev.org/). This "emulator" does indeed sound a lot more like the aforementioned attempt by Dean Edwards.
NS' IE mode functions as IETab does, embedding rather than emulating IE.
I mentioned it earlier, and I wasn't aware that there was any 'problem'. The embed is used to emulate (non-technical definition).
Emulation is like simulation.
A flight simulator used to actually fly a plane is no longer a simulator.
Using IE itself to render something is not emulating, but using.
Totally specious. Even using the technical definition for a software emulation, it may be used to perform the function itself, not just to pretend to, as is the case with a simulator. You have two different words, describing two different things.
None of this is important though. I was merely pointing out how filters could appear to work in other browsers.
djr33
08-20-2007, 01:12 AM
My point is that once it becomes DOING the thing WITH the thing, it's not imitation any more.
jscheuer1
08-20-2007, 02:22 AM
My point is that once it becomes DOING the thing WITH the thing, it's not imitation any more.
Still not important to the actual discussion, which only digressed into this business about what an emulation is or isn't after Twey took issue with it. The discussion was about filters in browsers other than IE and why it might appear that other browsers support them.
However, your point is strong, insofar as what it concerns. There is room for argument though, even there.
A flight simulator isn't an emulator. It could have several optional emulations of various types of aircraft. None of which would actually be flying anything. However, a real aircraft could have a reconfigured cockpit to emulate another aircraft. It could also have computer run dampening and/or enhancement of response to make the vehicle respond exactly like the other aircraft would. It would still be flying, doing the thing. And it would be an emulation, but not a simulation.
With an experience like browsing, which is virtual to begin with, If one browser emulates or simulates another, it really doesn't matter how this is achieved, as long as it works. If it isn't the other browser itself, what would you call it?
IE being IE is IE being IE. A rose is a rose is a rose. FF presenting the rendering of IE is still FF and not IE, regardless of how it is accomplished.
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.