我在sdcard上有一個本地html文件,我將其加載到webview中。 html有兩個按鈕,第一個按鈕在web視圖上顯示一些文本,第二個按鈕清除webview上的文本。 當webview第一次運行時,這工作正常。但是,當我使用webview離開活動,然後重新創建相同的活動時,第一個按鈕不再起作用。使用webview重新創建活動後JavaScript不運行
我有使用這些設置的新的WebView
webView.loadUrl("file:///_path_to_file_on_sdcard_");
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
setWebChromeClient(new WebChromeClient());
的HTML:
<p>JSONP Example</p>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#button1").click(function(){
try {
$.ajax({
type: "get",
async: false,
url: "http://myserver.com/json.php?iamback=?",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback:"flightHandler",
success: function(data){
$("#content").html('');
$("#content").append('Your data is' + data+'.<br />'); $("#content").append('Your name is' + data.name+'.<br />'); $("#content").append('You live in' + data.addr+'.');
},
error: function(){
alert('fail');
}
});
}
catch(err)
{
alert(err);
}
});
$("#button2").click(function(){
a$("#content").html('');
});
});
<p><button id="button1">JSONP Example</button> <br /> <br />
<button id="button2">Clear</button> </p>
<div id="content">testing abc</div>
的URL http://myserver.com/json.php?iamback=?返回這個:
?({'name' : 'Tom','addr':'Taipei'})
我不知道我在做什麼錯在這裏? 任何人有任何想法或關鍵字我可以用來找到一些答案? 謝謝!
只是萬一如果webview緩存內容添加此 - webView.getSettings()。setAppCacheEnabled(false);並確保設置null webview ondestory並重新加載/ ini創建。 – Neha
謝謝Neha。我已經在init上完成了webView.getSettings()。setAppCacheEnabled(false),並且還在onDestroy中完成了webView.clearCache(true)。 p.s.-在我的應用程序中,我創建了許多新的活動(一次一個),其中包含一個webview,而javscript適用於第一個活動,但對其他活動無效。 – dosa