小编Jef*_*eff的帖子

如何让Vue在影子dom中工作

我有一个阴影dom,其中包含根元素和vue组件.

<template>
    <div class="container">
        <div id="app"></div>
    </div>
    <script src="http://my-site.com/app/js/vue-component.js"></script>
</template>

<div id="hostElement"></div>
<script>
// create shadow DOM on the <p> element above
const shadow = document.querySelector('#hostElement').attachShadow({mode: 'open'});
const template = document.querySelector('template');
shadow.appendChild(document.importNode(template.content, true));
</script>
Run Code Online (Sandbox Code Playgroud)

内部vue-component.js看起来像这样:

import Vue from 'vue';

const shadow = document.querySelector('#hostElement').shadowRoot;

new Vue({
    el: shadow.querySelector('#app'),
    // ...
})

// this doesn't work because I think Vue is using document.querySelector('#app')
// instead of the required document.querySelector('#hostElement').shadowRoot.querySelector('#app')
// new Vue ({
//     el: '#app'
// })
Run Code Online (Sandbox Code Playgroud)

如果我在影子dom之外使用这些东西(就像普通人一样),一切都很好.然而,似乎Vue无法处理影子dom的东西.我相信它不应该是document.querySelector …

javascript html5 vue.js

5
推荐指数
1
解决办法
4032
查看次数

PHP 过滤器 vs PHP htmlspecialchars vs sqli 准备

我一直对上述预防 SQL 注入方法的优点/缺点感到好奇。

PHP 过滤器只是检查输入的格式是否正确,并返回 true 或 false,您可以选择是否发送到服务器。

PHP htmlspecialchars() 函数将特殊字符转换为等效字符串。

我不完全确定 sqli 准备是如何工作的,因为我现在对 sql 的了解有限,但是如果您使用 PHP 过滤器函数和/或 htmlspecialchars 则没有必要,我是否正确地假设它是不必要的?

请注意:如果我全都错了,请保持激烈的建设性,我仍在学习 PHP 和 SQL。

html php sql

2
推荐指数
1
解决办法
641
查看次数

如何从网站的其余部分确定内部 Vue 应用程序 css 的范围?

我需要创建一个包含用户界面的“插件”,该界面将显示在许多不同的供应商网站上。这是一个 CMS 不可知的插件。出于 SEO 的原因,我不能使用 iframe。我需要将插件的 css(可能还有 js)与网站的其余部分隔离,并阻止网站的其余 css 访问此插件。我怎样才能做到这一点?

更新:

好的,所以我问了一个对我的设置/技术有点过于具体的问题。问题应该是:如何将 html 元素与文档样式的其余部分隔离?这是在这里回答;

新问题:如何确定 Vue CSS 的范围,使其不向上传播,而是传播到子组件?

例如,我有主要的 Vue 组件,其中包括bootstrap.scss,我需要将其应用于所有子组件,但我不希望它泄漏到主网站中。添加scoped样式会阻止向上泄漏,但我希望它也适用于子类。

html javascript css vue.js

2
推荐指数
1
解决办法
3643
查看次数

标签 统计

html ×2

javascript ×2

vue.js ×2

css ×1

html5 ×1

php ×1

sql ×1