Ответ 1
Причина в том, что PDF.js(строка 331) пытается извлечь предложенное имя файла из URL-адреса. Это регулярное выражение зависает в зависимости от dataurl.
Решение состоит в том, чтобы указать имя в строке datauri, чтобы всегда было найдено принятое имя, как указано в комментарии 1 к Есть ли способ указать предлагаемое имя файла при использовании данные: URI?
function open_data_uri_window(url) {
var url_with_name = url.replace("data:application/pdf;", "data:application/pdf;name=myname.pdf;")
var html = '<html>' +
'<style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;} </style>' +
'<body>' +
'<p>new viewer</p>' +
'<iframe type="application/pdf" src="' + url_with_name + '"></iframe>' +
'</body></html>';
var a = window.open("about:blank", "Zupfnoter");
a.document.write(html);
a.document.close();
}
Подсказка: указанное имя не соблюдается встроенным просмотрщиком Chrome