⑴ 哪路神仙能說清楚IE內核瀏覽器和非IE內核瀏覽器之間CSS和js使用的區別啊 一百分求解!!
這真沒人說的清,首先ie內核就有好多版本,ie6,7,8,9,10.....非ie內核有chrome的webkit和firefox的一個內核,這還是主流的,而且他們也有各自的版本。。。
所以如果你要研究兼容,首先是要熟悉標准,就是w3c的標准,因為目前的趨勢來看,瀏覽器是會越來越標準的,如果你做的網頁標准以後,而在別的瀏覽器表現的不一樣,那就是那瀏覽器的問題,你再去網路上找相應的解決方案,肯定可以找到,因為在你之前肯定有人碰到過的,www.w3help.org/zh-cn 這裡面就有兼容性一欄,基本囊括所有兼容問題,但我覺得你不可能全看完,並且記住,所以還是平時多練,碰到問題要刨根究底,慢慢的就不怕兼容了,《精通css》這本書有一章講ie bug的,講了一些兼容的東西,可以看看。
⑵ js判斷瀏覽器是否為IE瀏覽器
利用ActiveXObject來操作,只有支持創建ActiveX控制項,因此她有一個其他瀏覽器沒有的東西,就是ActiveXObject函數。只要判斷window對象存在 ActiveXObject函數,就可以明確判斷出當前瀏覽器是IE
我們知道ie瀏覽器都會帶有MSIE這樣,這樣就好判斷了。
而IE各個版本典型的userAgent如下:
Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
其中,版本號是MSIE之後的數字。
利用ActiveXObject來操作,只有IE支持創建ActiveX控制項,因此她有一個其他瀏覽器沒有的東西,就是ActiveXObject函數。只要判斷window對象存在 ActiveXObject函數,就可以明確判斷出當前瀏覽器是IE代碼如下復制代碼(function(){
var isIE=!!window.ActiveXObject;
if(isIE){if(isIE6){alert('您正在使用低版本瀏覽器,為了保證您能有更好的訪問效果,我們建議您使用谷歌Chrome瀏覽器、火狐Firefox瀏覽器或者IE7以上版本瀏覽器!');}}})();
⑶ JS 中如何判斷出 各個IE瀏覽器的版本
IE6~IE10的瀏覽器特徵明顯,存在msie字元串,而IE11去掉了msie字元串,可以通過rv後面的版本號專識別IE11,具體方法如屬下:
functionIETester(userAgent){
varUA=userAgent||navigator.userAgent;
if(/msie/i.test(UA)){
returnUA.match(/msie(d+.d+)/i)[1];
}elseif(~UA.toLowerCase().indexOf('trident')&&~UA.indexOf('rv')){
returnUA.match(/rv:(d+.d+)/)[1];
}
returnfalse;
}
IETester();//不傳參數返回當前IE版本,如果不是IE內核瀏覽器,返回false
IETester('Mozilla/5.0(WindowsNT6.3;WOW64;Trident/7.0;rv:11.0)likeGecko');//傳userAgent字元串,用來判斷其他IE瀏覽器的版本,該示例返回11.0
⑷ js 判斷瀏覽器是否是ie
<script>
if(!+[1,])alert("這是ie瀏覽器");
else alert("這不是ie瀏覽器");
</script>
適用ie8以下
⑸ JS如何判斷是否為ie瀏覽器的方法(包括IE10
判斷是否IE瀏覽器用的是window.navigator.userAgent,跟蹤這個信息,發現在開發環境,識別為專IE10,但屬訪問伺服器則識別為IE11,但IE11的userAgent里是沒有MSIE標志的,原因就是這個了。
把判斷IE瀏覽器的方法改成如下就可以了。
原來的函數寫法:對於新版的ie11已經不支持了
function isIE(){
if (window.navigator.userAgent.indexOf("MSIE")>=1)
return true;
else
return false;
}
ie10及以上不支持ie瀏覽器的判斷了,因為ie11已經不支持document.all了,下面是支持ie11的版本的,當然ie6-8也是支持的
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
⑹ js怎麼判斷瀏覽器是否為ie和火狐
//判斷是否Firefox瀏覽器
function isFirefox(){
if (navigator.userAgent.indexOf("Firefox") > -1)
return true;
else
return false;
}
//判斷是否IE瀏覽器
function isIE() {
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
//以下是調用回上面的函數答
if (isIE()) {
alert("我是 IE");
}
if (isFirefox()) {
alert("我是 Firefox");
}
⑺ 如何用 JavaScript 探測當前瀏覽器是否為 WebKit 內核
<script>
varbrowser=function(){
varagent=navigator.userAgent.toLowerCase(),
opera=window.opera,
browser={
//檢測當前瀏覽器是否為IE
ie:/(msies|trident.*rv:)([w.]+)/.test(agent),
//檢測當前瀏覽器是否為Opera
opera:(!!&&opera.version),
//檢測當前瀏覽器是否是webkit內核的瀏覽器
webkit:(agent.indexOf('applewebkit/')>-1),
//檢測當前瀏覽器是否是運行在mac平台下
mac:(agent.indexOf('macintosh')>-1),
//檢測當前瀏覽器是否處於「怪異模式」下
quirks:(document.compatMode=='BackCompat')
};
//檢測當前瀏覽器內核是否是gecko內核
browser.gecko=(navigator.proct=='Gecko'&&!browser.webkit&&!browser.opera&&!browser.ie);
varversion=0;
//InternetExplorer6.0+
if(browser.ie){
varv1=agent.match(/(?:msies([w.]+))/);
varv2=agent.match(/(?:trident.*rv:([w.]+))/);
if(v1&&v2&&v1[1]&&v2[1]){
version=Math.max(v1[1]*1,v2[1]*1);
}elseif(v1&&v1[1]){
version=v1[1]*1;
}elseif(v2&&v2[1]){
version=v2[1]*1;
}else{
version=0;
}
//檢測瀏覽器模式是否為IE11兼容模式
browser.ie11Compat=document.documentMode==11;
//檢測瀏覽器模式是否為IE9兼容模式
browser.ie9Compat=document.documentMode==9;
//檢測瀏覽器模式是否為IE10兼容模式
browser.ie10Compat=document.documentMode==10;
//檢測瀏覽器是否是IE8瀏覽器
browser.ie8=!!document.documentMode;
//檢測瀏覽器模式是否為IE8兼容模式
browser.ie8Compat=document.documentMode==8;
//檢測瀏覽器模式是否為IE7兼容模式
browser.ie7Compat=((version==7&&!document.documentMode)||document.documentMode==7);
//檢測瀏覽器模式是否為IE6模式或者怪異模式
browser.ie6Compat=(version<7||browser.quirks);
browser.ie9above=version>8;
browser.ie9below=version<9;
}
//Gecko.
if(browser.gecko){
vargeckoRelease=agent.match(/rv:([d.]+)/);
if(geckoRelease){
geckoRelease=geckoRelease[1].split('.');
version=geckoRelease[0]*10000+(geckoRelease[1]||0)*100+(geckoRelease[2]||0)*1;
}
}
//檢測當前瀏覽器是否為Chrome,如果是,則返回Chrome的大版本號
if(/chrome/(d+.d)/i.test(agent)){
browser.chrome=+RegExp['x241'];
}
//檢測當前瀏覽器是否為Safari,如果是,則返回Safari的大版本號
if(/(d+.d)?(?:.d)?s+safari/?(d+.d+)?/i.test(agent)&&!/chrome/i.test(agent)){
browser.safari=+(RegExp['x241']||RegExp['x242']);
}
//Opera9.50+
if(browser.opera)
version=parseFloat(opera.version());
//WebKit522+(Safari3+)
if(browser.webkit)
version=parseFloat(agent.match(/applewebkit/(d+)/)[1]);
//檢測當前瀏覽器版本號
browser.version=version;
returnbrowser;
}();
</script>
⑻ 如何區分判斷不同的瀏覽器或者不同內核
Chrommium內核,代表為Chrom瀏覽器
Gecko內核,代表為Firefox瀏覽器
Trident內核,代表為IE瀏覽器
廣義的IE內核有IE瀏覽器、世界之窗瀏覽器、360瀏覽器、搜狗、騰訊的瀏覽器,網路瀏覽器。總之,樓主打開瀏覽器在上面的菜單欄的某個選項中能看到internet選項就是IE內核的。
非IE內核瀏覽器,一般用的都是非ie渲染引擎的,如Gecko、KHTML、Webkit、Presto等,有火狐、網景(已經停止開發,目前最新版本為火狐的)、opera、谷歌的chrome瀏覽器等,這些都很不錯。
非IE內核瀏覽器內存佔用都比較大(相比ie),但是實際用起來的話,你還是會覺得非ie內核是飛一般的感覺,整體速度快還是看opera和chrome,火狐也不錯,只不過有時候感覺真的很慢,chrome的安全性也很高,前不久外國有一個黑客大賽,貌似瀏覽器攻擊找漏洞只有chrome未被攻破,可見其安全性多麼高。
所謂內核就是核心技術的說法,核心技術就是瀏覽器最基本的部分,它決定各種訪問和各種操作,不同的瀏覽器再在內核的基礎上加上各種殼和豐富功能。就像一個人,人是最基本的,身上有各種衣服、樣子、來豐富這個人。。。。
⑼ 什麼是IE內核/非IE內核瀏覽器兩者的區別是什麼使用哪一種更好
IE內核即以系統自帶的InternetExplorer為主的瀏覽器以及以IExplorer為內核開發的瀏覽器。通常如果使用卸載軟體卸載掉系統自帶的InternetExplorer或其發生故障,此類以其為內核的瀏覽器均要受到影響。優點為開發較簡易,大多在安全性、易用性上對IE內核進行優化定製。代表瀏覽器有:360安全瀏覽器世界之窗瀏覽器遨遊瀏覽器急速瀏覽器等。
非IE內核,顧名思義即不依賴IE內核的擁有自主開發內核的瀏覽器程序。此類程序通常兼容性較好,速度較快,可適應多種操作系統平台。代表瀏覽器有:MozillaFirefox(火狐瀏覽器)Opera瀏覽器GoogleChrome(谷歌瀏覽器)蘋果Safari瀏覽器Netscape(網景瀏覽器)等。
ie內核的軟體是指其核心引擎為微軟的ie,不過更換了外表、增添了功能、改善了易用性,等等。如Maxthon(Myie)、GreenBrowser等。
非ie內核的瀏覽器指具有自有引擎,不依賴ie而存在的軟體。如以前的瀏覽器霸主Netscape、老牌第三方瀏覽器Opera、最近非常火爆的開源軟體Firefox等。
從瀏覽網頁來說,他們的作用差不多。不過由於微軟在計算機軟體方面的強勢地位,非ie內核的瀏覽器在瀏覽某些網頁的時候會出現問題,無法正常瀏覽,當然這種情況比較少。
ie,或者說windows系統本身就是個缺乏安全性的系統,存在不少漏洞,也容易被入侵或者攻擊。安全的涵義除了指計算機被破壞、盜取密碼之外,還包括比如中木馬、瀏覽器被惡意代碼劫持、首頁強制更改、定期彈出廣告、電子郵件病毒等。
就目前來說,使用非ie內核瀏覽器確實受到各種攻擊的可能性較小,但這在很大程度上是由於非ie內核瀏覽器市場份額過小,黑客、病毒木馬編寫者並未予以重視,而像最近市場份額明顯擴大的Firefox,就已經出現了多種安全性問題。
所以說,ie還是非ie內核,並不是衡量安全性的絕對標准。個人的推薦方法是,在保持良好上網習慣的基礎上,選擇自己用起來順手的瀏覽器。
⑽ 用js怎樣判斷ie 內置渲染引擎
給你兩個函數吧:第一個是判斷是否是PC系統還是手機移動瀏覽器,第二個是判斷是ie內核還是chrome內核的。上代碼:
functionIsPC(){
varuserAgentInfo=navigator.userAgent;
varAgents=newArray("Android","iPhone","SymbianOS","WindowsPhone","iPad","iPod");
varflag=true;
for(varv=0;v<Agents.length;v++){
if(userAgentInfo.indexOf(Agents[v])>0){flag=false;break;}
}
returnflag;
}
functiongetBrowser(getVersion)
{
//注意關鍵字大小寫
varua_str=navigator.userAgent.toLowerCase(),ie_Tridents,trident,match_str,ie_aer_rv,browser_chi_Type;
//判斷IE瀏覽器,
//blog:
if("ActiveXObject"inself){
//ie_aer_rv:指示IE的版本.
//.
ie_aer_rv=(match_str=ua_str.match(/msie([d.]+)/))?match_str[1]:
(match_str=ua_str.match(/rv:([d.]+)/))?match_str[1]:0;
//ie:.
ie_Tridents={"trident/7.0":11,"trident/6.0":10,"trident/5.0":9,"trident/4.0":8};
//匹配ie8,ie11,edge
trident=(match_str=ua_str.match(/(trident|edge/[d.]+)/))?match_str[1]:undefined;
browser_chi_Type=(ie_Tridents[trident]||ie_aer_rv)>0?"ie":undefined;
}else{
//判斷windowsedge瀏覽器
//match_str[1]:返回瀏覽器及版本號,如:"edge/13.10586"
//match_str[1]:返回版本號,如:"edge"
browser_chi_Type=(match_str=ua_str.match(/edge/([d.]+)/))?"ie":
//判斷firefox瀏覽器
(match_str=ua_str.match(/firefox/([d.]+)/))?"firefox":
//判斷chrome瀏覽器
(match_str=ua_str.match(/chrome/([d.]+)/))?"chrome":
//判斷opera瀏覽器
(match_str=ua_str.match(/opera.([d.]+)/))?"opera":
//判斷safari瀏覽器
(match_str=ua_str.match(/version/([d.]+).*safari/))?"safari":undefined;
}
//返回瀏覽器類型和版本號
if(getVersion!=undefined&&match_str[1])
{
//returnmatch_str[0];
returnbrowser_chi_Type+"/"+match_str[1];
}else{
returnbrowser_chi_Type;
}
}
用的時候用getBrowser()=='ie'判斷,如果返回true就是ie瀏覽器。