2009-10-08 2 views
2

나는 새로운 위치를 밟았으며 기존 코드를 정리하는 임무를 맡고 있습니다. 기본 URL을 사용하고 변수를 다른 사이트로 옮겨서 호텔 예약을 작성하는 Javascript 함수를 게시 할 것입니다.Javascript Popup IE 오류

이 기능을 사용하면 사이트 A에 액세스하고 사이트 B에서 호텔 예약을 검색 할 수 있습니다.이 기능을 사용하면 훨씬 더 명확 해집니다.

function buildReservationURL(){ 
    var site = "http://ach.travel.yahoo.net/hotel/HotelCobrand.do?smls=Y&Service=YHOE&.intl=us&.resform=YahooHotelsCity&"; 


<!-- Variables Are Defined Here from Form Values //--> 


    var finishedURL = site + "city=" + cityname + "&state=" + statename + "&dateLeavingDay=" + inDay + "&dateReturningDay=" + outDay + "&adults=" + adults + "&source=YX&distance=&hotelChain=&searchMode=city&cityCountryCode=us&&dateLeavingMonth=" + inMonth + "&dateReturningMonth=" + outMonth; 
    NewWindow(finishedURL,'Yahoo Travel','780','580','yes','no','1'); 
} 

그러나 IE에 정보가없는 오류가 표시됩니다. 오류가 생성되기 전에 오류가 발생하여 오류가 작성되고 URL이 작성된 함수의 어딘가에 있다고 생각합니다. 이것은 FireFox에서 잘 작동합니다. 어떤 아이디어?

+1

실제 문제가 발생한 곳으로 코드를 편집 할 수 있습니다. 이것은 엉망입니다. –

+2

함수가 "더 명확하게"만드는 방법을 잘 모르겠습니다. NewWindow 함수를 0으로 설정합니다. 그 기능의 정의는 무엇입니까? – Andrew

+0

IE에서 오류가 "제로 정보"라고합니다. 그것은 아마도 엄밀히 사실이 아닙니다. 아주 적은 정보를 줄 수도 있지만, 아마 뭔가를 말하고있는 것입니다, 맞습니까? IE 대화 상자는 정확히 무엇을 말합니까? –

답변

3

창 이름의 공백을 지원하지 않는 IE 버전을 사용하고 있습니까? (귀하의 예에서 "Yahoo Travel")

+0

그게 전부입니다. 고맙습니다. – Slevin

+0

AFAIK - IE의 모든 버전에 영향을줍니다 (예 : ..., 6,7,8) – scunliffe

+0

동일한 오류가 발생하여 창 이름에서 공백을 제거한 후에 문제가 해결되었습니다. 감사 – Roland

3

IE8의 디버거를 사용하고 "오류시 중단"을 사용하십시오. IE8에서 깨지지 않으면 호환성보기를 켜십시오. IE7 디버깅 기능을 제공하면서 IE7 자바 스크립트 엔진을 사용합니다.

1
function NewWindow(mypage,myname,w,h,scroll, menu, res) { 
    var winl = (screen.width - w)/2; 
    var wint = (screen.height - h)/2; 
    winprops = 'height=' + h + ',width=' + w + ',top=' + wint + ',left=' + winl + ',scrollbars=' + scroll + 
    ', resizable=' + res + ', location=no, directories=no, status=yes, menubar=' + menu; 
    win = window.open(mypage,myname,winprops); 
    if(parseInt(navigator.appVersion) > 3){ 
     win.window.focus(); 
    } 
}