2015-06-09 15 views
8

Mã sau để mở lịch trong cửa sổ bật lên, hoạt động trên tất cả các trình duyệt nhưng đã bị lỗi "cho phép từ chối" trong trình duyệt Microsoft Edge.Lỗi thời gian chạy trình duyệt javascript của Microsoft Edge "permission denied"

popupWindow.document.writeln("<HTML>\n<TITLE>"+ title +"</TITLE>\n<link href='calendar.css' rel='stylesheet' type='text/css'>\n<HEAD>\n" + js + "</HEAD>"); 

Mã này trước khi điều này:

popupWindow = window.open("","CAL1","toolbar=no,location=no,status=no, 
    menubar=no,scrollbars=auto,resizable=no,alwaysRaised=no,dependent=yes, 
    titlebar=no," + strDims + ",left=" + xoffset + ",top=" + yoffset); 

Bất kỳ ai biết tại sao điều này đang xảy ra?

+0

Tôi cũng muốn thấy câu trả lời cho điều này. Một số thử nghiệm của chúng tôi làm 'window.open' và' doc.write' trong MS Edge bắt đầu thất bại với "Quyền bị từ chối". – joeltine

+0

Bạn có tự động mở cửa sổ bật lên này khi tải trang hay mở nó như là kết quả của một số tương tác của người dùng (tức là nhấp vào nút)? Có vẻ như, nếu bạn cố gắng mở một popup tự động mà không có sự tương tác người dùng rõ ràng để kích hoạt nó, Edge sẽ luôn chặn nó. Ngay cả khi bạn chọn "luôn cho phép", Edge vẫn sẽ tiếp tục chặn nó. Tôi không thể tạo lại lỗi "cho phép bị từ chối" của bạn, nhưng tôi thấy lỗi này có thể liên quan. Tôi không thể sao chép nó: https://connect.microsoft.com/IE/feedback/details/1948354/permission-denied-error-with-accessing-addeventlistener-of-a-popup – MarkPlewis

+0

Có thể thử xác thực HTML trong cuộc gọi document.writeln của bạn. Các phần tử 'title' và' link' sẽ được lồng vào bên trong phần tử 'head' và có lẽ bạn nên thử thêm một phần tử' body' và một thẻ 'html' đóng. Ngoài ra, tôi không biết biến 'js' của bạn có chứa gì, nhưng bạn có thể cần phải làm điều gì đó như thế này với các thẻ' script' của bạn: http://stackoverflow.com/questions/236073/why-split-the-script -tag-when-writing-it-with-document-write – MarkPlewis

Trả lời

8

Tôi nghĩ vấn đề ở đây là same origin policy. IE (và nhiều khả năng là Edge) có thể xem xét một cửa sổ được mở với một URL (01) trống như đang ở trong một miền khác với mã gọi. Hãy thử mở một trang HTML trống, ví dụ thay vì một URL trống.

+0

Một tùy chọn khác là thử 'about: blank', mặc dù một máy chủ trống được chứng minh đáng tin cậy hơn trong quá khứ đối với tôi. –

+0

@JuanMendes: Tôi nghĩ 'about: blank' sẽ không hoạt động - ít nhất nó không có trong các bài kiểm tra của chúng tôi với IE10 +. –

Các vấn đề liên quan