gpt4 book ai didi

javascript - Android只能显示网站的一部分

转载 作者:行者123 更新时间:2023-12-01 16:13:33 26 4
gpt4 key购买 nike

我想知道是否可以在WebView中仅显示网站的某些部分,但是我在这里遇到问题,我的javascript命令无法正常工作

我的主要活动Java在这里

 public class MainActivity extends AppCompatActivity {
public WebView mywebview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mywebview=(WebView)findViewById(R.id.webview);
WebSettings webSettings=mywebview.getSettings();
webSettings.setJavaScriptEnabled(true);
mywebview.loadUrl("http://www.arena-offshore.com/crew-boats/");
mywebview.setWebViewClient(new WebViewClient());
}

public void onBackPressed() {
if (mywebview.canGoBack()) {
mywebview.goBack();
}
else {
super.onBackPressed();
}

}


我的Web视图扩展

public class MyWebClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url);
return true;

}
@Override
public void onPageFinished(WebView view,String url){
view.loadUrl("javascript:document.getElementById('page').style.display = 'none';");


}



}

最佳答案

首先,

mywebview.setWebViewClient(new WebViewClient());


一定是

mywebview.setWebViewClient(new MyWebClient()); // MyWebClient is used


我对您的 MyWebClient类进行了测试,仅在将javascript代码更改为函数声明和调用之后,才能达到预期的结果:

// `pu857` is ID of logo container on top of the page you are opening. 
view.loadUrl("javascript:(function() { document.getElementById('pu857').style.display = 'none'; })();")


如果不允许明文

如果出现类似 Cleartext HTTP traffic to * not permitted的错误,请使用网络安全配置。在 res/xml目录下(如果不存在则创建),您应该使用以下内容创建网络安全配置文件:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">www.arena-offshore.com</domain>
</domain-config>
</network-security-config>


这将允许您通过 HTTP发送/接收不安全的Web请求/响应,但仅用于 www.arena-offshore.com

将此安全文件包括在您的 AndroidManifest.xml中:

    // permission required to use internet
<uses-permission android:name="android.permission.INTERNET"/>

<application
android:networkSecurityConfig="@xml/network_security_config"
... />

关于javascript - Android只能显示网站的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62466435/

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