限制JavaScript/CSS范围的一种方法?
问题陈述: 我需要找到一个解决方案,使JavaScript和CSS不会与HTML页面上运行的其他脚本(小部件)发生冲突 建议的解决方案 有人知道限制JavaScript范围的方法吗?我知道有两种方法限制JavaScript/CSS范围的一种方法?,javascript,css,scope,Javascript,Css,Scope,问题陈述: 我需要找到一个解决方案,使JavaScript和CSS不会与HTML页面上运行的其他脚本(小部件)发生冲突 建议的解决方案 有人知道限制JavaScript范围的方法吗?我知道有两种方法 使用IFrame加载小部件 使用Frameset加载小部件 使用这两个选项,它将永久删除任何类型的JavaScript或CSS冲突。有人知道其他方法吗?当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目
使用这两个选项,它将永久删除任何类型的JavaScript或CSS冲突。有人知道其他方法吗?当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目的,或者小部件需要做比iframe更多的事情 没有办法保证一个小部件不会与另一个小部件发生冲突,除非您自己编写小部件时考虑到这种可能性(当然除了使用iFrame) 名称空间是避免css和js之间冲突的常用技术。从css的角度来看,这只意味着在小部件的容器元素上使用id或类,并在插件使用的每种样式中使用该类(注意,由于css的性质,这并不能绝对保证某些内容不会冲突),这意味着将所有方法和变量存储在私有范围内,这些方法和变量只能从
window
上的单个唯一属性访问,类似于jquery定义window.jquery
的方式
.myWidget .header {...}
.myWidget .footer {...}
.myWidget .header a {...}
及
当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目的,或者小部件需要做比iframe更多的事情 没有办法保证一个小部件不会与另一个小部件发生冲突,除非您自己编写小部件时考虑到这种可能性(当然除了使用iFrame) 名称空间是避免css和js之间冲突的常用技术。从css的角度来看,这只意味着在小部件的容器元素上使用id或类,并在插件使用的每种样式中使用该类(注意,由于css的性质,这并不能绝对保证某些内容不会冲突),这意味着将所有方法和变量存储在私有范围内,这些方法和变量只能从
window
上的单个唯一属性访问,类似于jquery定义window.jquery
的方式
.myWidget .header {...}
.myWidget .footer {...}
.myWidget .header a {...}
及
当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目的,或者小部件需要做比iframe更多的事情 没有办法保证一个小部件不会与另一个小部件发生冲突,除非您自己编写小部件时考虑到这种可能性(当然除了使用iFrame) 名称空间是避免css和js之间冲突的常用技术。从css的角度来看,这只意味着在小部件的容器元素上使用id或类,并在插件使用的每种样式中使用该类(注意,由于css的性质,这并不能绝对保证某些内容不会冲突),这意味着将所有方法和变量存储在私有范围内,这些方法和变量只能从
window
上的单个唯一属性访问,类似于jquery定义window.jquery
的方式
.myWidget .header {...}
.myWidget .footer {...}
.myWidget .header a {...}
及
当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目的,或者小部件需要做比iframe更多的事情 没有办法保证一个小部件不会与另一个小部件发生冲突,除非您自己编写小部件时考虑到这种可能性(当然除了使用iFrame) 名称空间是避免css和js之间冲突的常用技术。从css的角度来看,这只意味着在小部件的容器元素上使用id或类,并在插件使用的每种样式中使用该类(注意,由于css的性质,这并不能绝对保证某些内容不会冲突),这意味着将所有方法和变量存储在私有范围内,这些方法和变量只能从
window
上的单个唯一属性访问,类似于jquery定义window.jquery
的方式
.myWidget .header {...}
.myWidget .footer {...}
.myWidget .header a {...}
及
现在你可以开始使用一些非常酷的东西了@对于当前和上一代的web浏览器,KevinB的答案是正确的(+1'ed),但我敦促您开始研究,这将完全按照您的期望隔离您的“小部件”
好消息是,您可以从现在开始使用web组件,使用library/polyfill。现在就可以开始使用一些非常酷的东西@对于当前和上一代的web浏览器,KevinB的答案是正确的(+1'ed),但我敦促您开始研究,这将完全按照您的期望隔离您的“小部件”
好消息是,您可以从现在开始使用web组件,使用library/polyfill。现在就可以开始使用一些非常酷的东西@对于当前和上一代的web浏览器,KevinB的答案是正确的(+1'ed),但我敦促您开始研究