gpt4 book ai didi

android - WebView JavaScript 链接在触摸时有效,但在使用轨迹球时无效

转载 作者:太空狗 更新时间:2023-10-29 14:34:52 25 4
gpt4 key购买 nike

我有一个简单的基于 WebView 的 Activity ,它遵循 Hello, WebView启用 JavaScript 和重载 shouldOverrideUrlLoading() 的示例。

当用户触摸网页上的链接时,此 Activity 效果很好。但是,如果用户使用轨迹球并单击链接,则结果页面加载会显示禁用 JavaScript 的页面。

public class ViewUrl extends Activity {
protected WebView view;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_url);

final String url = "http://www.opentable.com/phone/reviews.aspx?rid=2947";

view = (WebView) findViewById(R.id.widget1);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl( url );
view.setWebViewClient( new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

});
}
}

view_url.xml 文件很简单:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widget1" />

</RelativeLayout>

下面是一些显示正确和错误行为的屏幕截图。

使用触摸点击(正确):

Click using Touch (CORRECT) http://img.skitch.com/20090908-g2acnrpb1riuq11ys3p1u6fd4d.png

使用轨迹球点击(不正确):

Click using Trackball (INCORRECT) http://img.skitch.com/20090908-my23yxakudwhheq875j2hcwg6h.png

关于如何修复轨迹球行为使其与触摸行为相同的任何想法?或者至少在通过轨迹球单击链接时启用 JS?

最佳答案

“Hello, WebView”示例似乎已损坏。根据 IRC channel 上某人的建议,我删除了 shouldOverrideUrlLoading() 的重写,一切似乎都很顺利。

修改后的工作代码:

public class ViewUrl extends Activity {
protected WebView view;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_url);

final String url = "http://www.opentable.com/phone/reviews.aspx?rid=2947";

view = (WebView) findViewById(R.id.widget1);
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl( url );
view.setWebViewClient( new WebViewClient() ); // probably not necessary if you don't do anything else with the WebViewClient
}
}

关于android - WebView JavaScript 链接在触摸时有效,但在使用轨迹球时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com