强制使用网站的移动版本

时间:2019-08-13 01:12:47

标签: javascript google-chrome user-agent

我有这个结构

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>            
<script>
 ...
  </script>            
    <frameset cols="50%,50%">            
      <frameset rows="50%,50%">         
        <frame id="a" src="" name="">         
        <frame id="b" src="" name="">       
      </frameset>      
      <frameset rows="50%,50%">         
      <frame id="c" src="" name="">         
      <frame id="d" src="" name="">      
      </frameset>                
    </frameset>   
</html>

我的目标是使搜索引擎a的ID为a的框架内,搜索引擎b ID为b的框架等,以此类推。

到目前为止效果很好。但是我得到了桌面版本,当屏幕除以4并且调整主窗口大小时很难看到。如何强制输出为移动版本?

我尝试了

window.onload = function(){
    Object.defineProperty(navigator, 'userAgent', {
    get: function () { return '<some fake mobile header>'; }
    });        
};  

但这在chrome中不起作用。

编辑:

我尝试过

function setUserAgent(window, userAgent) {
    // Works on Firefox, Chrome, Opera and IE9+
    if (navigator.__defineGetter__) {
        navigator.__defineGetter__('userAgent', function () {
            return userAgent;
        });
    } else if (Object.defineProperty) {
        Object.defineProperty(navigator, 'userAgent', {
            get: function () {
                return userAgent;
            }
        });
    }
    // Works on Safari
    if (window.navigator.userAgent !== userAgent) {
        var userAgentProp = {
            get: function () {
                return userAgent;
            }
        };
        try {
            Object.defineProperty(window.navigator, 'userAgent', userAgentProp);
        } catch (e) {
            window.navigator = Object.create(navigator, {
                userAgent: userAgentProp
            });
        }
    }
}

其中更改了用户代理,而不会更改传输到框架中站点的真实用户代理。

1 个答案:

答案 0 :(得分:0)

您应该在hmtl标头标记中使用适当的元标记, 这是有关ViewPort和响应式设计的详细信息,这应该可以帮助您解决问题

https://www.w3schools.com/css/css_rwd_viewport.asp