Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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/CSS范围的一种方法?_Javascript_Css_Scope - Fatal编程技术网

限制JavaScript/CSS范围的一种方法?

限制JavaScript/CSS范围的一种方法?,javascript,css,scope,Javascript,Css,Scope,问题陈述: 我需要找到一个解决方案,使JavaScript和CSS不会与HTML页面上运行的其他脚本(小部件)发生冲突 建议的解决方案 有人知道限制JavaScript范围的方法吗?我知道有两种方法 使用IFrame加载小部件 使用Frameset加载小部件 使用这两个选项,它将永久删除任何类型的JavaScript或CSS冲突。有人知道其他方法吗?当在同一页面上包含多个小部件/插件/库时,它们之间总是可能发生冲突。显然,唯一简单的解决方案是使用iframe,但是这通常不是理想的,因为seo的目

问题陈述: 我需要找到一个解决方案,使JavaScript和CSS不会与HTML页面上运行的其他脚本(小部件)发生冲突

建议的解决方案 有人知道限制JavaScript范围的方法吗?我知道有两种方法

  • 使用IFrame加载小部件
  • 使用Frameset加载小部件

  • 使用这两个选项,它将永久删除任何类型的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),但我敦促您开始研究