2016-09-27 3 views
0

내 CMS의 백엔드에만 액세스 할 수 있습니다. 이 방법으로 사용자 지정 스타일 시트를로드하는 중입니다.JavaScript로 CSS 링크를 타겟팅하는 방법

<link rel="stylesheet" media="(min-width:481px)" href=".../css/custom/styles.css" type="text/css"> 

media="(min-width:481px)"을 제거해야합니다. JavaScript로이 작업을 수행 할 수있는 방법이 있습니까 (CMS에서 jquery를 사용한다고 생각하지 않습니다)?

+3

물론 방법이 있습니다. 그것이 실제로 무엇을 할 것인지는 다른 문제입니다. 자바 스크립트가로드되기 전에 스타일 시트가로드되었는지 여부가 결정됩니다. 기존의'link' 엘리먼트를 사용하는 것보다는 JavaScript를 통해 스타일 시트를로드하는 것이 더 좋은 생각 일 수 있습니다. 이를 위해 다음을 포함하여 많은 답변이 있습니다. http://stackoverflow.com/q/9979415/215552 –

+0

CMS가 무엇이므로 백엔드에서 문제를 해결하는 것이 더 쉬울 것입니다. – adeneo

+0

나는'media = "(최소 너비 : 481px)"을 제거 할 수 없다는 것을 확신하는 100 % 확신하는 CMS 제공 업체에 연락을 시도해 보았습니다. – Heather

답변

1

나는 개인적으로 자바 스크립트와 링크의 요소와 장난하지 않는 것이 좋습니다,하지만 여전히 그것을 수행하려는 경우,이 작동합니다 : 당신은 여전히이 작업을 수행하려면

document.querySelector('link[href=href=".../css/custom/styles.css"]').removeAttribute('media'); 

것은,해야합니다 CSS 스타일이로드 될 때까지 기다립니다. 당신이 어떤 이유로이 솔루션을 가고 싶어 모든 링크 태그 그것을 할 경우

는,이 하나는 간단하다

var linkList = document.querySelectorAll('link'); 

for(var i in linkList) { 
linkList[i].removeAttribute('media'); 
} 

항상 null에 인수를 설정하는 대신 setAttribute를 사용하는 .removeAttribute를 사용 . 그것은 일반적으로 나쁜 습관입니다.

+0

고맙습니다. 이것은 정답 일 가능성이 높습니다. 불행히도 저는 그들은 사용자 정의 JS를 스트립 발견 ... – Heather

+0

당신은 오신 것을 환영합니다. 서버 측 언어 파일에 액세스 할 수 있으면 수동으로 수행 할 수 있습니다. 그것은 최고의 시나리오가 될 것입니다. –

+0

불행히도 자신의 방식을 100 % 확신하는 egomaniacs가 운영하는 매우 저조한 CMS가 유일한 방법입니다. – Heather

관련 문제