5

Visual Studio 2013 RTM 및 Web Essentials를 사용하여 페이지로드시 Chrome에서 다음 JavaScript 오류가 발생합니다.페이지의 브라우저 링크 JS 오류

Uncaught Error: Syntax error, unrecognized expression: div.main/PhoneIcon.png

가장 좋은 추측은 내 페이지 맨 위에있는 다음 html 행을 참조하는 것입니다.

<div class="main/PhoneIcon.png sprite"></div> 

브라우저 링크를 사용하여 HTML/CSS를 수정하거나 수정할 수 없습니다.

브라우저 링크를 수정하려면 어떻게해야합니까?

+1

클래스 이름이 잘못되었습니다. http://stackoverflow.com/questions/448981/what-characters-are-valid-in-css-class-selectors –

+1

CSS 선택기에만 적용됩니다. 따라서 해당 클래스 이름에 대해 작성하는 선택기는 이스케이프 처리해야하지만 실제 html은 이스케이프 처리 할 필요가 없습니다. http://stackoverflow.com/a/6732899/2344026 –

답변

12

브라우저 링크가이 태그를 고유하게 식별 할 수있는 jQuery 선택기를 만들려고했지만 예기치 않은 클래스 이름을 올바르게 처리하지 못했습니다.

태그에 ID를 추가하여이 문제를 해결할 수 있습니다. 브라우저 링크는 고유 한 가능성이 높기 때문에 오히려 ID를 사용합니다. 태그에 고유 한 ID가 있으면 클래스 이름을 무시합니다.

브라우저 링크를 방해하지 않으려면 표준 도구 모음의 브라우저 링크 메뉴에서 "브라우저 링크 사용"을 선택 해제하여 비활성화 할 수 있습니다.

+0

브라우저 링크를 사용 중지하는 옵션은 어디에서 찾을 수 있습니까? 내 VS의 도구 모음에는 브라우저 링크 메뉴가 없습니다. – magnattic

+0

일부 VS 버전에서 웹 프로젝트를 열 때까지 메뉴가 숨겨집니다. –

4

이것은 Visual Studio 자체에있는 Microsoft.VisualStudio.Web.PageInspector.Runtime.MappingData.MappingDataUtilities.GenerateSelectorsFromCssClasses()의 버그입니다. 비정상적인 클래스 이름을 벗어나지 않습니다.

이것은 Web Essentials와는 아무런 관련이 없습니다. BrowserLink 코어의 버그입니다.