Может ли JavaScript установить тип MIME на window.open - PullRequest
6 голосов
/ 10 октября 2011

Я пытаюсь открыть окно отладки в Javascript. Javascript передает в окно отладки строку JSON, которую JSONView (расширение Chrome) должно отображать в хорошо отформатированном виде.

Чтобы это работало, тип MIME должен быть "application/json". Можно ли как-нибудь отправить тип mime и строку JSON в window.open в качестве параметра? Я думаю, что MIME-тип и содержимое должны быть установлены в window.open, иначе JSONView не будет запущен.

Я попробовал это, но это не сработало:

var x = window.open("about:blank", 'x'); 
var doc = x.document; 
doc.open("application/json"); 
doc.write($(".trend_chart").attr("data-trendChart"))

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Документ, который вы открываете, должен иметь тип "application/json", вы не можете отправить его как параметр в методе window.open , так как он находится вне контекста. Вместо этого браузер определяет тип файла, используя заголовки запроса.

window.open("http://www.yoursite.com/file.json", "mywindow");

Вы должны увидеть файл json в JSONView без проблем. Если браузер по-прежнему запрашивает загрузку файла, возможно, ваша установка JSONView не работает.

1 голос
/ 10 октября 2011

Это невозможно.

Вам лучше сделать:

console.log(JSON.parse($(".trend_chart").attr("data-trendChart")));
...