在webview中启用javascript导致页面加载问题
我在android webview中启用了javascript。现在,页面开始加载,然后显示一个空白的白色页面。禁用javascript会导致url加载正常在webview中启用javascript导致页面加载问题,javascript,android,kotlin,webview,Javascript,Android,Kotlin,Webview,我在android webview中启用了javascript。现在,页面开始加载,然后显示一个空白的白色页面。禁用javascript会导致url加载正常 class MainWebViewActivity : AppCompatActivity() { lateinit var webview: WebView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(s
class MainWebViewActivity : AppCompatActivity()
{
lateinit var webview: WebView
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.tst_webview)
webview = findViewById(R.id.webview)
webview.settings.javaScriptEnabled = true
MyAsync("https://www.idiva.com/entertainment/bollywood/deepika-padukone-and-rishi-kapoor-to-star-in-hindi-adaptation-of-hollywood-film-the-intern/18006293").execute()
}
inner class MyAsync: AsyncTask<Void, Void, Document>
{
val url: String
constructor(url: String)
{
this.url = url
}
override fun doInBackground(vararg params: Void?): Document
{
var document: Document? = null
try
{
document = Jsoup.connect(url).get()
document.getElementsByClass("header").remove()
document.getElementsByClass("foo").remove()
}
catch (e: IOException)
{
e.printStackTrace()
}
return document!!
}
override fun onPostExecute(document: Document?)
{
super.onPostExecute(document)
webview.loadDataWithBaseURL(url, document.toString(), "text/html", "utf-8", "")
webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)
webview.setWebViewClient(object : WebViewClient()
{
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean
{
view.loadUrl(url)
return super.shouldOverrideUrlLoading(view, request)
}
})
}
}
}
class MainWebViewActivity:AppCompatActivity()
{
lateinit var webview:webview
重写创建时的乐趣(savedInstanceState:Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.tst_网络视图)
webview=findviewbyd(R.id.webview)
webview.settings.javaScriptEnabled=true
MyAsync(“https://www.idiva.com/entertainment/bollywood/deepika-padukone-and-rishi-kapoor-to-star-in-hindi-adaptation-of-hollywood-film-the-intern/18006293)执行()
}
内部类MyAsync:AsyncTask
{
val url:String
构造函数(url:String)
{
this.url=url
}
重写fun doInBackground(vararg参数:Void?):文档
{
var文档:文档?=空
尝试
{
document=Jsoup.connect(url.get())
document.getElementsByClass(“头”).remove()
document.getElementsByClass(“foo”).remove()
}
捕获(e:IOException)
{
e、 printStackTrace()
}
退货文件!!
}
重写onPostExecute(文档:文档?)
{
super.onPostExecute(文档)
webview.loadDataWithBaseURL(url、document.toString()、“text/html”、“utf-8”和“”)
webview.getSettings().setCacheMode(WebSettings.LOAD\u CACHE\u ELSE\u网络)
setWebViewClient(对象:WebViewClient()
{
override fun shouldOverrideUrlLoading(视图:WebView,请求:WebResourceRequest):布尔值
{
view.loadUrl(url)
返回super.shouldOverrideUrlLoading(视图、请求)
}
})
}
}
}
请为您的问题添加一些代码、努力和原因。它可以帮助人们解决你的问题。也许该网站上的JS检测到它正在网络视图中运行,并且不喜欢它。网站所有者似乎对谁查看他们的内容有点挑剔,因为我得到:“您好,我们目前不向欧洲的用户提供网站/移动应用程序的访问或使用。”