recherche

Maison  >  Questions et réponses  >  le corps du texte

Pourquoi mon iframe ne se charge-t-elle pas dans cet extrait ?

J'ai donc ici un petit morceau de code qui détecte s'il s'agit d'un navigateur mobile ou d'un navigateur de bureau. Cette fonction fonctionne, mais j'ai essayé de servir différentes iframes en fonction du navigateur, mais l'iframe ne s'est pas chargée. S'il vous plaît, aidez-nous à le réparer !

<html>
<body>
    <script>
        /* 将用户设备信息存储在一个变量中 */
        let details = navigator.userAgent;
  
        /* 创建一个包含一些移动设备关键词的正则表达式,
        用于在details字符串中搜索 */
        let regexp = /android|iphone|kindle|ipad/i;
  
        /* 使用test()方法在details中搜索regexp,
        它返回一个布尔值 */
        let isMobileDevice = regexp.test(details);
  
        if (isMobileDevice) {
            document.write("您正在使用移动设备");
        } else {
<iframe target="_parent" src="https://google.com/" style="position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;"></iframe>
        }
    </script>
</body>
</html>

J'ai essayé une version PHP mais sans succès. s'il vous plaît, aidez-moi !

P粉514458863P粉514458863444 Il y a quelques jours652

répondre à tous(1)je répondrai

  • P粉785905797

    P粉7859057972023-09-16 10:20:07

    Si l'appareil détecte que l'agent utilisateur est un appareil mobile, le message de l'appareil incompatible s'affichera, sinon l'activité du navigateur continuera, même si le mode bureau est activé dans le navigateur mobile, le message de l'appareil incompatible sera toujours affiché

    <html>
    <head>
    <style type="text/css">
        body {
            margin: 0 auto;
            padding: 0;
        }
    
        #root {
            display: grid;
            justify-content: center;
            align-items: center;
            width: 100vw;
            height: 100vh;
        }
    
        #browser {
            border: 0;
            width: inherit;
            height: inherit;
        }
    </style>
    </head>
    <body>
    <div id="root"></div>
    <script type="text/javascript">
        let device = navigator.userAgent;
        let isMobile = device.includes("Android") || device.includes("iPhone") || device.includes("iPad");
        let root = document.querySelector("#root");
    
        let message = () => {
            let p = document.createElement("p");
            p.textContent = "您正在使用移动设备。";
            root.appendChild(p);
        };
    
        let browser = () => {
            let browser = document.createElement("iframe");
            browser.id = "browser";
            browser.target = "_parent";
            browser.src = "https://bing.com";
            browser.crossOrigin = "anonymous";
            root.appendChild(browser);
        }
    
        if (isMobile) {
            message();
        } else {
            browser();
        }
    </script>
    </body>
    </html>

    Et vous pouvez utiliser l'opérateur ternaire au lieu de l'instruction IF ELSE.

    isMobile ? message() : browser();

    répondre
    0
  • Annulerrépondre