2014-07-09 216 views
0

我正在嘗試使用JavaScript注入來檢索單擊按鈕的元素ID。然後我想將這個ID保存到我創建的字符串中,然後將其顯示爲我創建的祝詞。代碼如下:JavaScript注入麻煩

public static final String INJECTED_CODE = "javascript:" 
     + "(function getClickedElement (id) { " 
     + "Test = document.getElementById(id)" 
     + "document.addEventListener('click', function(){Android.showToast(\'" 
                   + Test 
                   +"\');});" 
     + "})()"; 

我知道這個工程沒有添加getClickedElement位。

任何幫助,將不勝感激。

回答

0

它的工作原理沒有getClickedElement內部函數,因爲

(
    ...some code 
)() 

的部分執行的匿名功能的自我,它會立即執行本身。

但是,當您添加內部函數getClickedElement(id)時,您不會在任何地方調用它。

的代碼應該是這個樣子:

(
    document.addEventListener('click', 
     function(evt){if(evt.target.tagName == 'THE_TAG_OF_YOUR_BTN'){ 
       Android.showToast(evt.target.id); 
      } 
     } 
    ); 
)()