2014-09-24 2 views
0

여기에 몇 가지 문제가 있습니다. 내 목표는 페이지를 방문 할 때 자바 스크립트가 브라우저 너비를 가져 와서 쿠키로 설정하는 것입니다. 페이지 아래쪽에있는 몇 줄을 추가하면 vbscript가 쿠키를 선택하고 값을 읽고 내용 표시 여부를 결정합니다. 이것은 내가 지금까지 가지고있는 것입니다 :vbscript로 페이지 방문시 화면 너비 받기

<script> 
var width = $(window).width(); 
document.cookie = 'ScreenWidth=; expires=Thu, 01-Jan-70 00:00:01 GMT;'; 
document.cookie = 'ScreenWidth='+width; 
</script> 
<% 
    Dim ScreenWidth 
    Dim minWidth 
    minWidth = 768 
    ScreenWidth=request.Cookies("ScreenWidth") 
    'response.Write("screen width: "&ScreenWidth) 
    If ScreenWidth > minWidth Then 
     'display code 
    End If 
%> 

처음 페이지를로드해도 아무 일도 일어나지 않습니다. 페이지로 이동하여 새로 고침하면 작업이 시작됩니다. 작동하지만 아주 유용성이 떨어집니다. 내가 뭘 잘못하고 있니? 미리 감사

답변

1

이것은 VBScript가 실행 된 후에 쿠키가 만들어지기 때문에 VBScript는 다음에로드 할 때까지 쿠키를 보지 못하기 때문입니다.

아약스를 사용하여 페이지를 변경하여 첫 번째로드시 렌더링해야하므로 렌더링을 고려합니다.

자세한 방법은 $.ajax()을 참조하십시오.

1

자바 스크립트 코드는 (클라이언트 측에서 실행되는 반면 ASP 코드 (<% %> 사이 부분)가, 서버 측 ( 전에 즉 페이지가 클라이언트로 전달 된 경우)에 실행되는 예 이후에 페이지가 클라이언트에 전달됨). 실제로 쿠키가 실제로 생성되기 전에 쿠키를 읽으려고합니다. 디스플레이 코드 클라이언트 측 코드 (자바 스크립트가 좋음)를 만들어야합니다.