如果我嘗試打開一個彈出窗口,並用元標記設置字符編碼,則新窗口會忽略該標記。如果我手動將新窗口上的編碼設置爲UTF-8,則HTML僅能正確顯示。WIndow.open錯誤的字符編碼
var headerPopupContent = '<head>'
+ '<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">'
+ '<title>Chat</title>'
+ '<link rel="stylesheet" href="assets/css/style.css">'
+ '<link rel="stylesheet" href="assets/css/style-rtl.css">'
+ '</head>';
var chatBoxContent = $('#popup-box').html();
var footerPopupContent = '<script src="assets/js/jquery-1.12.3.min.js"></script>'
+ '<script src="assets/js/script.js"></script>';
var win = window.open('', '', 'width=350, height=430, top=50, left=50, resizable=1, scrollbars=1');
win.document.open();
win.document.write(headerPopupContent + chatBoxContent + footerPopupContent);
win.document.close();
您可能希望確保在適用的情況下,使用適當的'<!DOCTYPE html>',''和'
'標籤來包裝您的內容。這可能有助於解決您的一些編碼問題,但如果不解決問題,那麼出於標準考慮,這當然不是一個壞主意。 –打開您最喜愛的瀏覽器的開發人員工具中的網絡選項卡,並查看請求中使用的編碼,而不是呈現的html。你會看到瀏覽器使用的真正的字符集 –
'chatBoxContent'是否包含有效的URF8? – mplungjan