我有一个阴影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 …
我一直对上述预防 SQL 注入方法的优点/缺点感到好奇。
PHP 过滤器只是检查输入的格式是否正确,并返回 true 或 false,您可以选择是否发送到服务器。
PHP htmlspecialchars() 函数将特殊字符转换为等效字符串。
我不完全确定 sqli 准备是如何工作的,因为我现在对 sql 的了解有限,但是如果您使用 PHP 过滤器函数和/或 htmlspecialchars 则没有必要,我是否正确地假设它是不必要的?
请注意:如果我全都错了,请保持激烈的建设性,我仍在学习 PHP 和 SQL。
我需要创建一个包含用户界面的“插件”,该界面将显示在许多不同的供应商网站上。这是一个 CMS 不可知的插件。出于 SEO 的原因,我不能使用 iframe。我需要将插件的 css(可能还有 js)与网站的其余部分隔离,并阻止网站的其余 css 访问此插件。我怎样才能做到这一点?
好的,所以我问了一个对我的设置/技术有点过于具体的问题。问题应该是:如何将 html 元素与文档样式的其余部分隔离?这是在这里回答;
例如,我有主要的 Vue 组件,其中包括bootstrap.scss,我需要将其应用于所有子组件,但我不希望它泄漏到主网站中。添加scoped样式会阻止向上泄漏,但我希望它也适用于子类。