Так что я создаю приложение Chrome со встроенным элементом <webview>
. Встроенный webapp содержит много устаревших кодов, таких как window.showModalDialog
звонки (которые Chrome больше не поддерживает).Polyfill window.showModalDialog в webview
То, что я пытаюсь сделать сейчас, - это заполнить эти звонки. Я создал простой тестовый пример:
<webview src="http://legacyCodeIsAwesome.com/" style="width:100%; height:100%"></webview>
код работает на WebView элемента:
webview.addEventListener('contentload', function() {
webview.executeScript(
{
code: 'window.showModalDialog = function() { console.log ("Hello, world");}',
runAt: 'document_start'
}
);
});
Вышеприведенные код работает (добавление отладки console.log
работы), только он не делает то, что это предположительно, чтобы перезаписать функцию showModalDialog
.
Есть ли какие-то ограничения на функции перезаписи на объекте window
в веб-просмотрах? Есть ли способ обойти это?
Спасибо большое за ваш обширный ответ, я хочу дать вам +2 для справки вводного –
Просто небольшой коррекции, но 'matches' должна быть массив –
@NexusDuck Исправлено, спасибо. – Xan