Chrome과 관련하여 구체적인 내용은 잘 모르겠지만 그 점은 분명합니다. 이것은 모든 IE * 브라우저 등 모든 다른 브라우저에서 작동합니다. 실제로 클라이언트별로 코드는 없습니다. 이 모든 것은 서버에서 생성됩니다. 그러나 크롬의 캐시 만 번을 삭제하고 다시 시작한 후 ... 다음은 작동하지 않습니다Chrome의 자바 스크립트 문제
<script type="text/javascript">
// BEGIN PARAMETERS
<?php
if (isset($someid) && $someid == 'foo') {
echo "var somevar = 'foo';\n";
} else {
echo "var somevar = '#';\n";
}
?>
var invisible = '#';
var text_counter = '#';
// END PARAMETERS
</script>
을 $ someid == '갑'에서오고 모든 단일 브라우저에서 VAR는, 그것을 제대로 보여줍니다 var somevar = 'foo'와 같이 소스를 본 후에 나타난다; Chrome은 일관되게 var somevar = '#'을 보여줍니다.
나는 또한 자바 스크립트에 포함되고있는 페이지에이를 던졌다 :<?php
echo "someid: {$someid}\n";
?>
그것은 $의 someid 실제로 foo는 것을 확인합니다. 두 번째 else 블록은 크롬에서만 히트합니다.
업데이트 : Chrome에서 마우스 오른쪽 버튼을 클릭하고 '요소 검사'를 클릭하면 올바른 var somevar 값이 있음을 알았습니다. 보기 소스에서만 올바르게 설정되지 않았습니다. 초기 HTTP GET 이후에 DOM을 수정하면 정상적인 동작으로 간주되어 정말 이상합니다. 여기서는 그렇지 않습니다. XHR이나 펑키 한 DHTML은 일어나지 않습니다. 그냥 HTTP GET, 위의 코드는 GET 요청에 따라 처리됩니다.
'$ someid '는 실제로 어떻게 설정 되었습니까? – BalusC
해도 상관 없습니까? 그것이 서버 측에 설정되어 있다고 생각하면됩니다. 크롬은 왜 신경을 쓰나요? – randombits
생성 된 JS 코드가 브라우저에서 제대로 보이나요?(페이지 소스보기를 사용하는 경우) –