2012-04-25 2 views
1

그림보기, 나는 IE와 관련된 문제를 겪고 있으며 누군가가 도와 줄 수 있기를 희망했다. ... 방문자가 올 특정 회의에 등록한 다음 나는 선택한 달력에 대한 약속을 생성 할 수 있기를 원합니다. 선택은 gmail, yahoo 및 Outlook입니다. Gmail 및 yahoo 약속은 모든 브라우저에서 예상대로 생성되지만 Outlook 약속은 IE를 제외한 모든 브라우저에서 작동합니다. IE는 파일 저장 대화 상자를 던지는 대신 새 창을 열고 URL 탐색을 시도합니다.인터넷 익스플로러 오픈 아웃룩 약속 자바 스크립트

나는 "콘텐츠 -을 추가하여 당신은 IE에서 작동하는 대화 상자 저장 파일을 얻을 수 있습니다 내가 조금 수정을 iCalendar jQuery 라이브러리를 사용하여이

//build ics markup 
var event = makeAppointment(settings); 
//render ics markup as outlook appointment 
window.open("data:text/calendar;charset=utf8," + escape(event)); 

function makeAppointment() 
{ 
    return 'BEGIN:VCALENDAR\n' + 
    'VERSION:2.0\n' + 
    'PRODID:jquery.icalendar\n' + 
    'METHOD:PUBLISH\n' + 
    'BEGIN:VEVENT\n' + 
    'UID:' + new Date().getTime() + '@' + 
    (window.location.href.replace(/^[^\/]*\/\/([^\/]*)\/.*$/, '$1') || 'localhost')  + '\n' + 
    'DTSTAMP:' + $.icalendar.formatDateTime(new Date()) + '\n' + 
    (event.url ? limit75('URL:' + event.url) + '\n' : '') + 
    (event.contact ? limit75('MAILTO:' + event.contact) + '\n' : '') + 
    limit75('TITLE:' + event.title) + '\n' + 
    'DTSTART:' + $.icalendar.formatDateTime(event.start) + '\n' + 
    'DTEND:' + $.icalendar.formatDateTime(event.end) + '\n' + 
    (event.summary ? limit75('SUMMARY:' + event.summary) + '\n' : '') + 
    (event.description ? limit75('DESCRIPTION:' + event.description) + '\n' : '') + 
    (event.location ? limit75('LOCATION:' + event.location) + '\n' : '') + 
    (event.recurrence ? makeRecurrence(event.recurrence) + '\n' : '') + 
    'END:VEVENT\n' + 
    'END:VCALENDAR'; 
} 

답변

0

처럼, 자바 스크립트에서 ICS 마크 업을 건물입니다 처분 : 첨부 "응답 헤더. 그러나 JavaScript가 헤더 정보를 수정할 수 없기 때문에 이는 서버에서 발생해야하며 클라이언트 측 스크립팅에서는 발생할 수 없습니다.

자세한 내용은 this answer을 참조하십시오.

+0

감사합니다. 코드가 바뀌었고 모든 것이 great.Dynamic 콘텐츠가 서버에서 응답에 추가 될 수 있으므로 자바 스크립트에서 시도하거나 할 필요가 없습니다. http : //www.west-wind.com/ 웹 로그/포스트/2007/5 월/21/ASPNET 대화 상자에서 저장하기와 함께 파일 다운로드하기 –