Webview evalJS return null in Android 4.2.2
Khamis, 3 Oktober 2013, 6:52 pm0
I have a webview that points to external URL
var webview = Ti.UI.createWebView({ url: 'http://example.com/test.html' });
In test.html I have a global variable
<script type="text/javascript"> var myvar = JSON.stringify({ status: true }); </script>
On webview onload event, evalJS('myvar')
return null, and inside log message got “Timeout waiting to evaluate JS”. After a few days try & error, test and compare, finally I found the culprit is within tiapp.xml file.
My tiapp.xml has a customized <android>
section
<android xmlns:android="http://schemas.android.com/apk/res/android"> <tool-api-level>17</tool-api-level> <manifest android:installLocation="auto" android:versionCode="1" android:versionName="1.0.0"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/> <application> <activity android:configChanges="keyboardHidden" android:name="org.appcelerator.titanium.TiActivity" android:screenOrientation="portrait"/> </application> </manifest> <services> <service type="standard" url="lib/service/clear.js"/> </services> </android>
It turns out that <uses-sdk>
part is the one causes this bug. Removing the line <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>
fix this bug and I can retrieve myvar values using evalJS() again.
Check process that prevent unmount USB drive
8 Oktober 2013
29 September 2013