首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Drupal8:如何根据IE7和IE8的版本有条件地在库中添加JS文件?

在Drupal 8中,可以使用hook_page_attachments_alter钩子来根据IE7和IE8的版本有条件地在库中添加JS文件。以下是一个示例代码:

代码语言:php
复制
/**
 * Implements hook_page_attachments_alter().
 */
function mymodule_page_attachments_alter(array &$attachments) {
  // 检查用户代理字符串是否包含IE7或IE8
  $user_agent = \Drupal::request()->server->get('HTTP_USER_AGENT');
  if (strpos($user_agent, 'MSIE 7') !== FALSE || strpos($user_agent, 'MSIE 8') !== FALSE) {
    // 添加JS文件到库中
    $attachments['#attached']['library'][] = 'mymodule/ie7_ie8_js';
  }
}

在上面的示例中,我们首先使用hook_page_attachments_alter钩子来修改页面附件。然后,我们检查用户代理字符串是否包含IE7或IE8的标识,如果是,则将自定义的JS库('mymodule/ie7_ie8_js')添加到页面附件中。

要创建自定义的JS库,您需要在您的模块或主题的libraries.yml文件中定义它。以下是一个示例:

代码语言:yaml
复制
ie7_ie8_js:
  version: 1.x
  js:
    js/ie7_ie8_script.js: {}
  dependencies:
    - core/jquery

在上面的示例中,我们定义了一个名为ie7_ie8_js的库,它包含一个名为ie7_ie8_script.js的JS文件。此外,我们还指定了它依赖于core/jquery库。

这样,当用户使用IE7或IE8访问网站时,将会加载ie7_ie8_script.js文件。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浏览器兼容

让哪些浏览器支持哪些效果 3、如何做 (1)根据兼容需求选择技术框架/库(jquery) (2)根据兼容需求选择兼容工具(html5shiv.js、respond.js、css reset、normalize.css...IE有条件解释语句。...(如IE6IE7),对CSS解析认识不完全一样,因此会导致生成页面效果不一样,得不到我们所需要页面效果。...我们需要针对不同浏览器去写不同CSS,让它能在不同浏览器也能得到我们想要页面效果。实际项目中CSS Hack大部分是针对IE浏览器不同版本之间表现差异而引入。...运行时候它会在html元素上添加一批CSSclass名称,这些class名称标记当前浏览器支持哪些特性不支持哪些特性 详情见文档:Modernizr介绍文章 ?

1.9K52

解决cssie浏览器各种兼容问题

在进行网站开发过程,IE是另很多程序员头疼一个浏览器,他版本兼容性很难调整,尤其是IE6,IE7IE8,IE9,IE10这几个版本区别有很大。现在百度与谷歌都有了一行解决这种兼容性代码了。...> 当然如果服务器是自己的话,可以在服务器上定义一个自订标头来为它们网站预设一个特定文件兼容性模式。...录入,下列 web.config文件使Microsoft Internet Information Services (IIS)能定义一个自订标头以自动使用IE7 mode来编译所有网页。...另外还有一起其他解决方案,例如google ie7 – js是一个JavaScript库(解决IE与W3C标准冲突JS库),使微软Internet Explorer行为像一个Web标准兼容浏览器...它修复了许多HTMLCSS问题,并使得透明PNG在IE5、IE6下正确显示。 使IE5,IE6兼容到IE7模式(推荐) <!

2K20
  • 【转】http-equiv=X-UA-Compatible 设置IE浏览器兼容模式详解

    文件兼容性用于定义让IE如何编译你网页。此文件解释文件兼容性,如何指定你网站文件兼容性模式以及如何判断一个网页该使用文件模式。...前言 为了帮助确保你网页在所有未来IE版本都有一致外观,IE8引入了文件兼容性。在IE6引入一个增设兼容性模式,文件兼容性使你能够在IE呈现你网页时选择特定编译模式。...当你引入一个增设兼容性模式, 此文章说明文件兼容性必要性,列出现有版本IE能使用文件兼容性模式并示范如何选择特定兼容性模式。...为了帮助减轻所有问题,IE8引入文件兼容性概念,使 你能选择你网页设计要对应特定IE版本文件兼容性在IE8增加了一些新模式,这些模式能告诉浏览器如何解析编译一个网页。...对于许多网页来说这是最推荐兼容性模式。 •IE5 mode 编译内容如同IE7quirks mode之显示状况,IE5显示非常类似。

    2K10

    chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题

    大家好,又见面了,我是你们朋友全栈君。 时不时碰到客户浏览器为IE7,IE8,甚至IE6,他们不能升级浏览器,因为升级后,机器其它重要系统无法访问。...chrome=1代表所有版本IE浏览器都使用Chrome内核解析网页,chrome属性还有其他值,比如chrome=IE7,代表IE7或以下版本浏览器才使用chrome内核,chrome=IE6...如何提供一个友好引导安装界面呢,Google帮我们解决了这个问题。 在body标签中加入这段js代码,可以使得IE打开该网页时出现友好GCF安装引导iframe框。...这段代码不需要存在于 之中,js已经做了浏览器判断。...meta信息中加入一句: 这里chrome=1代表所有版本IE浏览器都使用Chrome内核解析网页,chrome属性还有其他值,比如chrome=IE7,代表IE7或以下版本浏览器才使用chrome

    1.4K30

    前端必看!各大浏览器 CSS Hack 收集

    ; 以下是引自百度文库定义 简单讲,css hack指各版本及各品牌浏览器之间对CSS解释后出现网页内容误差(比如我们常说错位)处理。...由于各浏览器内核不同,所以会造成一些误差就像JS一样,一个JS网页特效,在微软IE6、IE7IE8浏览器有效果,但可能在火狐(Mozilla Firefox)谷歌浏览器无效,这样就叫做JS hack...:IE8、IE9支持 4、各种CSS hack情况介绍 1.区别IE非IE浏览器 #tip{ background:blue; background:red9; } 2.区别IE6,IE7,IE8...」(米字号),但IE6可以辨识「_」(底线),IE7却无法辨识,透过IE7无法读取「_」特性就能轻鬆区隔IE6IE7之间差异。...//IE7 _color:#EBEBEB; //IE6 } 可以看出,利用字符识别无法区分IE8IE9,我们可以从伪类识别来区分 element{ color:#6669;?????

    1.6K130

    根据IE版本加载不同CSS样式方法小结,解决低版本IE兼容问题

    搜来搜去,网上给出大约有三种简单可行方法: 一、最简单方法就是在页面引入 css3-mediaqueries.js 插件解决兼容性问题; 经测试,发现此方法 IE8 是可以了,但是 IE7 还是有点局部问题...二、准备多个 CSS 样式表,通过 JS 判断 IE 版本来激活 CSS 样式表; 拿到网友给源码,修改了半天才搞定!谁叫我是小白呢!...} }; }); 原理很简单,使用 js 判断 IE 及 IE 版本,然后根据不同版本来改变当前 css 样式表 href,由于使用了 jQuery ready 预加载方法,所以需要在代码之前引入...Ps:示例代码只判断了 IE7 IE8,可根据实际需要,再加上更多 IE 版本判断。经过测试,这种方法有个弊端:页面载入是有一个缓冲时间内是乱排,然后才会正常!这 JS 载入有关系。。。...通俗来说,这是一种查漏补缺方法!通过常规写法补上不能识别的 CSS3 样式,从而解决了低版本兼容性问题! 最终,我采用了第三种方法,解决了中国博客联盟导航 IE7、8 兼容问题: IE7: ?

    2.5K80

    Ajax创建对象以及不同浏览器兼容性

    另一方面对于flash等还不支持Ajax,现在手机也不能使用,但是很明显,这只是现在不能,以后一定可以~ 2.在html页面触发js脚本时候,js脚本根据我们相应动作去执行php文件,执行后可能会获得一部分结果...,而把这些结果再返回到js脚本,再通过脚本当中DOM组件直接反映在当前html页面上,也就是说整个页面没有刷新,只是改变html页面上某位置内容。...在实现这个以前,我们先简单分析一下,当前浏览器分为IE浏览器((IE5.0 IE5.5 IE6.0, IE7 IE8))非IE浏览器(按照W3C标准:FF Mozilla NetScape)两种,...但是呢IE浏览器版本不同在创建Ajax对象时也不相同,所以Ajax对象创建种类比较多。...,IE8) 6 if(window.XMLHttpRequest){ 7 request=new XMLHttpRequest();//非IE以及IE7IE8

    1.1K40

    jQuery下载安装详细教程,jQuery入门必备

    相对于JavaScript库来说,更利于学习掌握,而且具有简体中文帮助文档,极大方便了英文不好网站建设人员学习。 下面我们介绍一下jQuery如何下载与安装?...3.x版本是目前最新版本,与1.x版本有着相同API。1.x版本兼容IE6、IE7IE8,而3.x版本不兼容IE6、IE7IE8。...1、在实际开发,我们建议使用1.x版本,而不是3.x版本,原因有两个: 2、现在很多网站还是要考虑兼容IE6~IE8; 大多数jQuery插件不支持3.x版本,只支持1.x版本。...类型 说明 jquery.js (开发版) 没有压缩,用于学习源代码 jquery.min.js (压缩版) 高度压缩,用于实际开发 表 1:两种类型 jQuery 库文件比较 开发版是没有压缩,...压缩版是经过高度压缩,以“jquery.min.js”命名,一般供实际开发者使用。 在实际开发,我们一般都是使用压缩版,也就是“jquery.min.js版本

    85040

    第168天:json对象字符串相互转换

    json对象字符串相互转换 1、json对象字符串转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象stringify()parse...3) JSON官方转换方式: http://www.json.org/       提供了一个json.js,这样ie8(兼容模式),ie7ie6就可以支持JSON对象以及其stringify()...字符外包裹一对小括号  注:ie8(兼容模式),ie7ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串表达式。...(兼容模式),ie7ie6没有JSON对象,不过http://www.json.org/提供了一个json.js, 10 这样ie8(兼容模式),ie7ie6就可以支持JSON对象以及其...12 13 ie8(兼容模式),ie7ie6可以使用eval()将字符串转为JSON对象, 14 eval("("+c+")") 15 16

    1.4K10

    通过 JS 判断页面是否有滚动条简单方法

    前言 最近在写插件过程,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁。最终通过参考不同方法,写了一个比较简单方法。...判断是否有滚动条方法 其实只需要一行 JS 就可以,测试兼容 IE7 function hasScrollbar() { return document.body.scrollHeight >...但是在 IE7IE8 window.innerHeight 为 underfined,所以为了兼容 IE7IE8,需要使用 document.documentElement.clientHeight...,我们还需要计算滚动条宽度,根据情况添加合理 margin-left 数值。...计算滚动条宽度方法比较简单,新建一个带有滚动条 div 元素,通过该元素 offsetWidth clientWidth 差值即可获得,我在此借鉴 Magnific-popup 方法 function

    8.3K90

    polyfill — Respond.js

    那么如何在 IE6~8 浏览器兼容响应式布局呢? 这里我们需要借助这样一个文件:respond.js. 文件下载地址:respond.js. 自己在阅读了官方文档之后,进行了一系列测试。...插件原理 既然要实现响应式网页,那么就需要用到媒体查询,媒体查询核心是 min-width max-width,而 IE8 以下以及一些其它浏览器不支持这两个属性,respond.js 是怎么做呢...使用方法 考虑到 IE9 是支持 CSS3 ,所以直接在 HTML 页面的 标签添加脚本引入即可: 讲道理,我们是应该将 js 文件放在 html 文件最后,但是 repond.js 文件,我还是建议你将它放在 ,并且放在 css 文件后面。...Respond.js @import Respond.js 不支持通过 @import 引入 CSS 文件

    1K20

    JQuery安装与下载教程(efficiency)

    3.x 版本是目前最新版本,与 1.x 版本有着相同 API。1.x 版本兼容 IE6、IE7 IE8,而 3.x 版本不兼容 IE6、IE7 IE8。...在实际开发,我们建议使用 1.x 版本,而不是 3.x 版本,原因有两个: 1.现在很多网站还是要考虑兼容 IE6~IE8; 2.大多数 jQuery 插件不支持 3.x 版本,只支持 1.x 版本。...在实际开发,我们一般都是使用压缩版,也就是“jquery.min.js版本。压缩版经过压缩,体积小很多,这样也可以提高页面加载速度。那么小伙伴们就会问了:“为什么不用开发版呢?”....js文件移动到自己web项目js包里面 3....引入资源文件,并测试是否引加载成功,如果是undefinition 就没有引入 创建一个html页面,将jQuerymin.js 资源文件导入。 <!

    2.7K20

    兼容性测试工具分享

    工具介绍: IETester是一个免费Web浏览器调试工具,可以模拟出不同js引擎来帮助程序员设计效果统一代码。...IETester可以在独立标签页开启IE5.5、IE6、IE7IE8 ,IE9,IE10,IE11这7个不同版本IE,原则上支持WIN8 desktop,WIN7,XPVista操作系统。...下若没有IE7的话, IE8 实例不工作 ) 2)如果IE10不是系统默认安装浏览器版本,那它就不可用。...根据微软介绍,SuperPreview可用IE版本视系统已安装IE浏览器版本而定,如果系统安装了IE8,那SuperPreview浏览器测试可用版本就包括IE8IE7IE6;如果系统安装了IE7...,那SuperPreview只包括IE7IE6;如果系统安装了IE6,那SuperPreview只能测试IE6。

    3.7K80

    4种方案解决CSS浏览器兼容性问题

    Chrome,Frirefox,Safari,Edge,IE6,IE7IE8,IE9...360安全浏览器,qq浏览器,世界之窗,TT,搜狗,opera,maxthon(傲游)…… 关键是不同厂商,甚至同一厂商不同版本...根据百度流量研究院提供2018年8月至2019年2月数据可以看出,Chrome占比46.28%,IE系仍然占有很大比重,任重而道远啊~ ?...连接线(划线)(-)亦可使用,为了避免与某些带划线属性混淆,所以使用下划线()更为合适。 :选择IE7及以下。...诸如:(+)与(#)之类均可使用,不过业界对()认知度更高 \9:选择IE6+ \0:选择IE8+Opera15以下浏览器 举例 如在不同IE浏览器设置不同颜色,注意顺序:低版本兼容性写法放到最后...自动化插件 Autoprefixer是一款自动管理浏览器前缀插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里,使用Can I Use(caniuse网站)数据来决定哪些前缀是需要

    2.8K10

    最近遇到兼容性问题适配问题

    JS: IE: 1、不能添加监听标准事件,添加polyfill initEvent: function initEvent(dom, eventName, callback) { if.../static/html5shiv.min.js"> CSS: IE: 1、IE7及以下display: inline-block表现异常,div设置为inline-block显示为block...@media screen and (max-width: $min-width) { min-width: 0px; ... }   原理:IE7Android4.3版本也不支持...2、IOS9光标定位问题:   在Vue2.4版本以下,nextTick实现是以MOPromise为优先策略,(MOPromise都为MicroTask,优先执行)   当一个input值改变事件如有有...这样就会等到input渲染完毕再执行domtask     2、升级Vue至最新版本,最新版本nextTick在WacherDOMonXXX事件时,优先以MacroTask执行       watcher

    1.6K90

    JS魔法堂:浏览器模式和文档模式怎么玩?

    一、前言                                         从IE8开始引入了文档兼容模式概念,作为开发人员我们可以在开发人员工具通过“浏览器模式”“文档模式”(IE11...(IE7也是这样)  注意:这时兼容模式主要是解决显示问题,要知道那时JS只是小配角而已。   3.3....文档兼容性模式——IE8新宠   “文档兼容性模式”是对“兼容模式”扩展,就IE8而言,除了提供怪异模式(Quirks)IE8标准模式外,还提供了IE7标准模式、模拟IE7模式,而且设置方式也丰富得多...因为除了浏览器版本对应文档模式外,其他文档模式均是跑在浏览器内核虚拟机上,而这些虚拟机仅仅能模拟真实浏览器内核大部分DOM树解析、渲染JS API而已。...其实我们只要再次明确一下“文档兼容性模式”目的就好了,对终端用户来讲它是为了在新版IE尽量正确显示老网站;对开发者来讲它是为了方便调试新网站在旧版IE上显示效果JS有效性,极端情况下会通过锁定文档模式来启用旧技术

    1.9K80

    介绍几款浏览器兼容性测试工具

    IETester 这是我最先用测试浏览器兼容性工具,想必也是大家用最多一个,IETester是一个免费Web浏览器调试工具,可以模拟出不同js引擎来帮助程序员设计效果统一代码。...IETester可以在独立标签页开启IE5.5、IE6、IE7IE8 beta2这4个不同版本IE。可以方便解决IE浏览器兼容问题。 ?...SuperPreview 最先知道SuperPreview是在微软WebCast技术创新日课程上,在SuperPreview,你可以同时浏览网页在各个版本IE效果。...根据微软介绍,SuperPreview可用IE版本视系统已安装IE浏览器版本而定,如果系统安装了IE8,那SuperPreview浏览器测试可用版本就包括IE8IE7IE6;如果系统安装了IE7...,那SuperPreview只包括IE7IE6;如果系统安装了IE6,那SuperPreview只能测试IE6。

    3K10
    领券