Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 现在使用用户代理字符串来检测IE11不再有问题了吗?_Javascript_Php_Laravel - Fatal编程技术网

Javascript 现在使用用户代理字符串来检测IE11不再有问题了吗?

Javascript 现在使用用户代理字符串来检测IE11不再有问题了吗?,javascript,php,laravel,Javascript,Php,Laravel,我知道在检测浏览器时使用用户代理字符串的不足和缺点,但在我目前在该公司的项目中,运行该网站时唯一有问题的是Internet Explorer 11,因为它无法读取我们制作的Javascript类(非常长)和我们使用的ES6箭头。和其他人尝试做的一样,我将此代码放入我的控制器中,并在blade上运行php。这只适用于整个网站的4个页面。我知道功能检测是最值得推荐的,但是如果我使用UA嗅探仅仅是为了让一些页面只在IE11中工作,并且由于IE11基本上被微软抛弃了,没有新的IE版本/功能会出现,这意味

我知道在检测浏览器时使用用户代理字符串的不足和缺点,但在我目前在该公司的项目中,运行该网站时唯一有问题的是Internet Explorer 11,因为它无法读取我们制作的Javascript类(非常长)和我们使用的ES6箭头。和其他人尝试做的一样,我将此代码放入我的控制器中,并在blade上运行php。这只适用于整个网站的4个页面。我知道功能检测是最值得推荐的,但是如果我使用UA嗅探仅仅是为了让一些页面只在IE11中工作,并且由于IE11基本上被微软抛弃了,没有新的IE版本/功能会出现,这意味着字符串“trident/”不会改变,这是一个可行的选择吗?如果可能的话,我想听听你的意见

控制器

$exactBrowserNameUA = $_SERVER['HTTP_USER_AGENT'];
if(strpos(strtolower($exactBrowserNameUA), 'trident/')) {
   Session::put('is_internet_explorer', true);
} else {
   Session::put('is_internet_explorer', false);
}
刀片

@if(Session::get('is_internetexplorer')==false)
@否则
@恩迪夫

<>代码>如果只是代码>类< /代码> ES和箭头函数,请考虑使用巴别塔来自动转换Babeli,但使用脱机转换。如果不是IE11,则包含原始编写的代码,如果是,则包含Babel transpiled代码。我注意到传输的代码非常慢,有时页面显示和完成加载需要10-13秒。
@if(Session::get('is_internet_explorer') === false)
    <script type="text/javascript" src="{{asset('js/original_es6_code.js')}}" charset="UTF-8"></script>
@else
    <script type="text/javascript" src="{{asset('js/babel_transpiled_code.js')}}" charset="UTF-8"></script>
@endif