js不兼容舊版chrome3,ie瀏覽器js不兼容

本文目錄一覽:

像js,css.在chrome,FireFox,IE瀏覽器不兼容問題一般怎麼解決

解決方法 先看你的產品面向的用戶群體

如果完全可以不考慮低版本瀏覽器用戶的就不用去糾結小部分代碼問題

然後具體事情具體分析

js的兼容可以藉助框架和庫 比如jquery,或者自己寫個方法判斷和兼容該瀏覽器

css的兼容 其實在養成良好代碼習慣和思路之後 能遇上的兼容問題其實是非常少的,很針對性的可以寫一點hack,但不要多用

js不兼容360, chrome瀏覽器,不兼容,不起作用

var diffY =document.body.scrollTop+document.documentElement.scrollTop;

因為chrome只認識document.body.scrollTop,360默認應該是谷歌內核。

由於在不同情況下,document.body.scrollTop與document.documentElement.scrollTop都有可能取不到值,但document.body.scrollTop與document.documentElement.scrollTop兩者有個特點,就是同時只會有一個值生效。比如document.body.scrollTop能取到值的時候,document.documentElement.scrollTop就會始終為0;反之亦然。所以,如果要得到網頁的真正的scrollTop值就用我上面寫的那樣

Chrome瀏覽器V39版本無法通過js關閉彈出頁面

遇到同樣的問題,說明下:

Chrome自version37起已經默認停止了對window.showModalDialog的支持(可以修改註冊表獲得支持,2015年5月之前,這種修改都有效)。

而對於從瀏覽器手動打開的非modal的窗口,在我意識到self close問題以來,Chrome都是不支持的——比如你給自己的page做了個logout的功能,點擊之後想用你提到的self close方法關閉這個page,在Chrome上是關不掉的(但是你可以指定到另一個顯示logout狀態page,效果一樣,logout也不一定就非要把那頁關掉不是)。

既然它現在停止了支持showModalDialog,非modal窗口又不允許self close,那全面取締從代碼里self close也是情理之中遲早的事情吧。

解決方案:

對於解決showModalDialog問題,你可以自己用iframe之類的自己去模擬一個modal窗口,就像微博的轉發窗口,點開之後用戶將無法操作原頁面的其他element。但是模擬的話,主要會遇到JS繼續執行的問題,showModalDialog是會阻止原頁面JS繼續執行的,直到獲取到新窗口的的返回結果,自己模擬這個行為的話,可以考慮call back方式,時間篇幅所限,不細說了哈,想取代showModalDialog都遇到這個問題,網上應該能搜到不少封裝好的方法。

再說一點你需要自己寫一個showModalDialog的原因,在Chrome宣布停止支持showModalDialog之後,FireFox也首次在文檔和DebugTool里標明他們也會停止對showModalDialog的支持。暫時還沒正式停止,大概是在等用戶對Chrome這個操作的反應。

showModalDialog原來畢竟是IE獨有的東西,一直沒納入W3C標準。Chrome對它的支持一直很差,比如從一個page打開showModalDialog,你還可以去其他page操作,也可以查看原page,甚至可以在原page上操作,只是這些操作只有在你關閉了showModalDialog之後才會起作用。

但是FireFox對showModalDialog的支持其實一直是很好的,基本跟IE上用起來基本無差,但是IE也在慢慢遵循W3C標準(特別是新出的IE11),FireFox拋棄showModalDialog也是早晚的事情。

最後,自己”畫”的modal dialog完全在你的控制之下,可以暴露一個close接口來允許從子窗口裡關閉父窗口打開的modal dialog。

(近期沒少受此困擾,碼了這麼多,跟吐槽似的了……)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/275609.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 16:05
下一篇 2024-12-17 16:05

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 如何解決web瀏覽器雙擊事件時差

    本文將從以下幾個方面對web瀏覽器雙擊事件時差進行詳細闡述,並提供解決方法。 一、雙擊事件延時設置 1、問題描述:在web瀏覽器中,雙擊事件默認會延時一定的時間才能觸發該事件,這個…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字符無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • 使用Python模擬手機瀏覽器的方法

    解答如何使用Python模擬手機瀏覽器,並且給出示例代碼。 一、安裝Selenium庫 使用Python模擬手機瀏覽器需要使用Selenium庫。 首先,使用pip命令進行安裝: …

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • 谷歌瀏覽器窗口大小調整

    谷歌瀏覽器是當今最流行的網絡瀏覽器之一,它的窗口大小調整是用戶操作其中的一個重要部分。本文將從多個方面對谷歌瀏覽器窗口大小調整做詳細的闡述。 一、窗口大小調整的基礎操作 谷歌瀏覽器…

    編程 2025-04-28
  • 如何在電腦上下載安裝谷歌瀏覽器?

    想要在電腦上使用谷歌瀏覽器,我們需要先進行下載和安裝。下面,本文將從多個方面詳細闡述如何在電腦上下載安裝谷歌瀏覽器。 一、到谷歌瀏覽器官方網站下載 谷歌瀏覽器官方網站是我們下載谷歌…

    編程 2025-04-28
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27

發表回復

登錄後才能評論