2013-11-14 3 views
1

У меня есть WebView, где некоторые страницы уже загружены webview.loadUrl(URL);Вызов JavaScript функции предустановленной библиотеки из приложения

Также есть количество яваскрипта функций вроде:

function myFunction1() {// some code} 
    function myFunction2() {// some code} 
    function myFunction3() {// some code} 

мне нужно поджать все функции на WebView (когда страница уже загружена), а затем выполнить их один за другим из приложения как webview.loadUrl("javascript: myFunction1()"); или webview.loadUrl("javascript: myFunction3()");

Возможно ли это до загружать библиотеку вместо привязки js в html код <script src="js/myLibrary.js"></script>?

ответ

1

Это не сложно. Послушайте, сначала вы должны использовать console.log. Это может помочь вам понять, что происходит во время выполнения сценария:

console.log('This message should appear as a debug message in Logcat.'); 

поставить это в javascript и вы получите это сообщение в LogCat:

11-15 12:31:10.652: I/Web Console(16214): This message should appear as a debug message in Logcat.:1 

Тогда ваш вопрос: вы должны загрузить ваш JavaScript функции в строке:

wv.loadUrl("javascript: var globalVar; function init() {globalVar=1;}; function global() {init(); var gl = '2'; console.log(globalVar);}"); 

, здесь мы имеем init() функцию, которая инициализирует globalVar и глобальный, которые инициализируют все vars и выводят результат в logcat!

После поджимать можно выполнять любые функции:

wv.loadUrl("javascript: global();"); 

и вы увидите в LogCat "1"! И это все!

+0

Да! Это работает! Спасибо! – validcat

Смежные вопросы