У меня есть QRC файл, который выглядит следующим образом:Может ли QWebView загружать * .js из файлов ресурсов Qt и запускать их?
<qresource prefix="/web">
<file alias="assets.js">../web/assets.js</file>
<file alias="index.html">../web/index.html</file>
</qresource>
Внутри assets.js Просто добавив функцию Allert всплывающего окна:
function myFunction()
{
window.alert("Hello from assets.js");
}
Внутри index.html добавив еще один JavaScript для alert popup, loading assets.js и добавление 2 кнопок. Сначала один вызвать всплывающее окно с внешнего файлом JavaScript (assets.js) и второй для вызова JavaScript, который погруженный в index.html файла:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function localFunction()
{
window.alert('HTML loaded');
}
</script>
<script src="assets.js"></script>
<button onclick="myFunction()">External JS</button>
<button onclick="localFunction()">Local JS</button>
</body>
</html>
Теперь, когда я пытаюсь загрузить index.html в QtWebKit:
webView->load(QUrl(QStringLiteral("qrc:/web/index.html")));
я могу видеть, что index.html был загружен в порядке (я могу видеть кнопки 2) при нажатии на которая должна вызывать локальный (html embeded) javascript, он работает. Щелчок второй кнопки ничего не делает.
Похоже, что внешний assets.js не загружен должным образом. Любые предложения, как я могу заставить его работать?
Спасибо.
Ответ на вопрос [this] (http://stackoverflow.com/questions/15187296/can-qwebview-load-images-from-qt-resource-files) может помочь. – putu