2015-03-14 6 views
0

У меня есть простое приложение Chrome. Существует строка base64. В нем я храню PDF-файл, и я хочу открыть этот файл PDF на новом window или iframe.Как открыть base64 PDF в приложении Chrome?

Я попытался создать iframe с src="data:application/pdf;base64,..".

После этого я получаю эту ошибку:

Refused to load plugin data from 'data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3R…Q4RUU5MzdDRDQyM0RFNEI4MTkzNDU3MzIzMTM2OQo+PgpzdGFydHhyZWYKMjA0NTQKJSVFT0YK' because it violates the following Content Security Policy directive: "default-src 'self' chrome-extension-resource:". Note that 'object-src' was not explicitly set, so 'default-src' is used as a fallback.

+0

Приложение или расширение? Это жизненно важно. – Xan

+1

Кроме того, вы говорите «новое окно или iframe» - вы пробовали новую вкладку? – Xan

ответ

2

Xan Как уже упоминалось, попробуйте загрузить его в новой вкладке.

В вебе-странице, вы можете сделать либо

window.open('data:application/pdf;base64,DATA', '_blank') 

или (для загрузки на одном окне)

window.location.href="data:application/pdf;base64,DATA" 

Надеется, что это помогает. :/

+1

Если это приложение для Chrome, это может быть проблематично. Приложения Chrome [не разрешены для взаимодействия с браузером] (https://developer.chrome.com/apps/app_deprecated) таким образом. – Xan

+1

Для этого может потребоваться что-то вроде webview или (предстоящий) [API браузера] (https://developer.chrome.com/apps/browser). Тем не менее, автор ** требует ** уточнить, означает ли он приложение или расширение. Теги и вопрос противоречат друг другу. – Xan

+0

Согласовано. Кроме того, теперь, когда я вижу свой собственный ответ, я тоже вижу, что это не очень полезно в любом контексте. : / – NirmalL