Version: 1.00, by Zachery
Developer Last Online: May 2017
Category: Miscellaneous Hacks -
Version: 3.8.7
Rating:
Released: 10-16-2013
Last Update: Never
Installs: 22
Code Changes
No support by the author.
IE11 gets along pretty well with vB3, though file downloads get a bit wonky due to some changes in how IE is detected.
In includes/functions.php find:
PHP Code:
// detect macintosh
Add above:
PHP Code:
// Detect Modern IE11+ if (strpos($useragent, 'trident') !== false AND !$is['opera'] AND !$is['ie']) { preg_match('#rv:([0-9\.-]+)#', $useragent, $regs); $is['ie'] = $regs[1];
}
Next, find:
PHP Code:
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'])
And replace it with
PHP Code:
if (strpos($useragent, 'gecko') !== false AND !$is['safari'] AND !$is['konqueror'] AND !$is['ie'])
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Thanks, Zachery! Installed. Do you know whether this will be included into vB3.8.8 before release? Just so I know whether I'll have to remember to redo it after an eventual upgrade.
I added it to 3.8.8 Beta 3.
(Yes, I know it not downloadable yet, but it will be when I get time to make it available).
Smileys don't seem to work in IE11/vB3.8 by clicking them in WYSIWYG mode. Works fine in compatibility mode. Any fix for this?
Edit: Enabling the "Send Internet Explorer 7 Compatibility Header" option seems to fix it, however if I do that mods like the vbshop stop working properly (clicking the tabs on the main page of the shop does nothing).
It appears that YUI will also need to be updated to handle the issues with the editor. Though, I don't know how reasonable that will be. I suspect we can just append similar code to the YUI file for browser matching. But I'm not overly familiar with js.
You'd want to look at
/clientscript/yui/yahoo-dom-event.js and find:
else{A=B.match(/MSIE\s([^;]*)/);
Then you'd have to append something to match Trident, instead of IE, and check for rv: instead of the MSIE version string. I'm not a pro at regex so I don't quiet understand how that regex works or what its trying to match.
I don't think any version of YUI supports IE11 though, since it was discontinued almost 3 years ago now. Before IE was even a thing.
You'd need to add something like
else{A=B.match(/Trident\s([^;]*)/);
basically, you need to patch YUI with IE11 detection. I'm not sure if the above code is correct, you'll have to dig around and check out how the user agent is parsed, and then figure out how to add the additional parsing.
Note- it should work but is not a perfect Regex- besides matching Trident or MSIE it will also match for example rent or SIEM but since these aren't valid / known useragents it should be OK.