2015-08-04 7 views
1

мне нужно сделать iframe в моем приложении Electron:IFrame с локальным ресурсом в Electron

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    </head> 
    <body> 
    <iframe sandbox='allow-scripts' src='frm.html'></iframe> 
    </body> 
</html> 

где frm.html ссылки локальный скрипт файл foo.js, который является частью моего приложения Electron

<!DOCTYPE HTML> 
<html> 
<head> 
    <title></title> 
    <script src="foo.js"></script> 
</head> 
<body> 
    <p>Inside iframe</p> 
</body> 
</html> 

When Я запускаю приложение в Electron. Я вижу эту ошибку в консоли devtools.

Not allowed to load local resource: file:///C:/electron/app1/foo.js 

Возможно ли такой сценарий в Electron?

ответ

4

Это функция безопасности iframe. Вот аналогичный вопрос, который рассказывает о загрузке связанных файлов в iframe: Displaying local htm file in iframe?.

Как говорится, вы считали, что вместо этого используете тег webview? http://electron.atom.io/docs/v0.30.0/api/web-view-tag/. Тег webview очень похож на iframe, но дает вам больше возможностей контролировать безопасность вокруг него. Я протестировал загрузку локального файла в webview так же, как вы пытаетесь загрузить frm.html в iframe, и работает безупречно.

+0

Эй, @ shawn-rakowski, Ваш ответ кажется хорошим. Но я хочу интегрировать внешний сайт, у которого есть собственный тяжелый мини-JS, который предполагает, что он будет интегрирован в