2012-09-14 49 views
1

我是使用JavaScript和CSS媒體查詢的新手,並且想知道這裏是否有可能。防止JavaScript改變頁面樣式

我有一個網頁上有一個腳本。我有一個使用媒體查詢的CSS文件。當媒體查詢CSS正在運行時,我不希望腳本能夠更改CSS。我希望腳本仍然可以工作,因爲它正在填充菜單。我只是不希望它改變位置或背景顏色或任何其他風格。有沒有辦法來禁止腳本從CSS文件或從HTML文件更改CSS? (我不想編輯劇本)

+0

請勿包含腳本..或更改您的ID,類和標記。否則,你必須通過每一個並使用'!important'來禁用你自己的樣式表中的每個樣式。 –

+0

我必須包含腳本。它填充菜單。但我不能改變腳本bc它是一個包含的遺留腳本。 – pongahead

回答

1

不可能。加載後,JavaScript可以更改頁面上的任何內容。儘管你可以禁用JavaScript。 =))

0

您可能會考慮使用matchMedia來確定當前正在使用哪個媒體查詢。如果某個特定媒體查詢正在運行,那麼您只需跳過JavaScript指令即可。否則,您會像平常一樣繼續修改UI。

使用matchMedia,您還可以訂閱媒體查詢更改,以便從JavaScript中適當地作出響應。考慮檢查MDN上的Using Media Queries from Code

此選項主要適用於latest browsers,但您也可以在polyfill it的舊版瀏覽器中使用。