如何使用js来使屏幕白屏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用js来使屏幕白屏相关的知识,希望对你有一定的参考价值。

参考技术A <span id="tiao">3</span><a href="javascript:countDown"></a>;秒后自动跳转……<meta http-equiv=refresh content=3;url='http://wooyun.org'</ul>
<script language="javascript" type="">
function countDown(secs)
tiao.innerText=secs;
if(--secs>0)
setTimeout("countDown("+secs+")",1000);

countDown(3);
</script>
参考技术B 现在的网页有一种全屏功能
最少flash可以做到,你看视频播放网站都有全屏功能本回答被提问者采纳
参考技术C js是什么意思

如何解决 WebView 的白屏问题?

【中文标题】如何解决 WebView 的白屏问题?【英文标题】:How to resolve the white Screen of WebView? 【发布时间】:2018-09-12 08:08:24 【问题描述】:

我正在使用下面的代码用本地 html 文件填充我的 WebView,但它在某些设备中看起来不错,但最近我注意到在某些设备中,例如 Colors X114、@987654327 @ 出现一秒钟,然后一切消失并出现白色空白屏幕。

代码:

package com.nepalpolice.mnemonics;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;


/**
 * Created by Sagar on 2017/09/23. yo chai menupage ko Fragments ko lagi
 */

public class Homepage extends Fragment 

    WebView myWebView;
    private LinearLayout container;
    private Button nextButton, closeButton;
    private EditText findBox;


    public Homepage() 
        // Required empty public constructor
    


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) 
        // Inflate the layout for this fragment
        View rootView = inflater.inflate(R.layout.fragment_homepage, container,  false);


        String url = getArguments().getString("url");


        myWebView=(WebView)rootView.findViewById(R.id.webview);
        myWebView.getSettings().setBuiltInZoomControls(true);

        myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        myWebView.getSettings().setLoadsImagesAutomatically(true);
        myWebView.getSettings().setJavaScriptEnabled(true);

        myWebView.getSettings().setBuiltInZoomControls(true);

        myWebView.setInitialScale(1);
        myWebView.getSettings().setLoadWithOverviewMode(true);
        myWebView.getSettings().setUseWideViewPort(true);

        WebSettings webSettings = myWebView.getSettings();

        myWebView.loadUrl(url);


        return rootView;


    

    public static String changedHeaderHtml(String htmlText) 

        String head = "<head><meta name=\"viewport\" content=\"width=device-width, user-scalable=yes\" /></head>";

        String closedTag = "</body></html>";
        String changeFontHtml = head + htmlText + closedTag;
        return changeFontHtml;

    

这就是它出现或应该出现的方式

但它在某些设备中的显示方式。

我将 url 作为字符串传递,如下所示

  args3.putString("url1", "file:///android_asset/b/dbpm.html");

【问题讨论】:

【参考方案1】:

你试试这个:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowContentAccess(true);
settings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl(url);

【讨论】:

【参考方案2】:

您很可能遇到过视图层类型的问题。 试试这个代码:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    webSettings.setMixedContentMode(0);
    webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
 else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
    webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
 else 
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

并尝试在 Manifest 中设置硬件加速:

android:hardwareAccelerated="true"

更多详情请参考link。

【讨论】:

【参考方案3】:

看到你必须在其中启用JavaScriptEnabled,并且在url中必须有http:

wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wv1.loadUrl(url);

您可以在这些链接中获取基本信息:

https://developer.android.com/reference/android/webkit/WebView.html https://www.tutorialspoint.com/android/android_webview_layout.htm https://developer.android.com/guide/webapps/webview.html https://developer.chrome.com/multidevice/webview/gettingstarted

【讨论】:

我已经启用了javascript并且url设置为args3.putString("url1", "file:///android_asset/b/dbpm.html"); 分享您的网址,请尝试一次:- setJavaScriptEnabled(true);而不是 setJavaScriptCanOpenWindowsAutomatically(true); 我已经编辑了我的问题,是的,我在代码中有 setJavaScriptEnabled(true) 和 setJavaScriptCanOpenWindowsAutomatically(true)。

以上是关于如何使用js来使屏幕白屏的主要内容,如果未能解决你的问题,请参考以下文章

测试白屏怎么排查

oracleautovue白屏

使用 create-react-app 构建后如何修复白屏?

electron如何解决白屏问题

Next JS : 在 dom 渲染时加载屏幕

如何让scss变量能够当做js变量来使用