我正在本地firebase服务器上运行一个webapp (以"firebase serve"开头).
我想要的是找到一种方法告诉我的客户端(浏览器脚本)我的项目文件已经改变,以启动浏览器刷新.
在以前的项目(运行nodejs服务器)中,我的解决方案是在后端和前端之间建立websocket连接.所以每次服务器重新启动时(...由于文件更改,我正在观察使用像nodemon这样的观察者...),我的服务器端代码建立了一个新的连接到客户端,该客户端听取了该事件并刷新了浏览器就可以了.
我的firebase服务器的问题是,我没有运行自己的后端代码,而且我没有找到有关如何告诉我的客户端的任何信息,我的项目文件已经更改.事实上,我的firebase服务器根本没有重启,因为在这个没有后端的环境中还没有必要.但我想至少可以通过nodemon或其他东西运行我的firebase服务器来完成.
附加信息:我试图找到一种方法,使用webpack-dev-server,它集成了自动刷新功能,但无法在两台服务器之间找到链接,也无法在不同端口上集成它们并解决不同的任务.
我的问题可能是:firebase服务器中是否有任何解决方案?有没有办法在文件发生变化时触发客户端事件?或者最终运行我自己的firebase后端中间件来创建与客户端的websocket连接?
欢迎任何建议.
编辑:
我找到了一种使用browsersync的方法.由于browsersync可以充当其他服务器的代理(在我的例子中:firebase服务器),因此设置非常简单.
安装完成后,只需转到项目目录并输入例如:
browser-sync start --proxy"localhost:5000"--files"dist/*"
其中"localhost:5000"是当前服务器所处理的主机和端口,"dist"是应该监视更改的目录.
默认情况下,browsersync将在"localhost:3000"为您的应用提供服务.
有关browsersync主页的更多信息
长话短说
\n\n如何将 div 元素的内联 onclick 事件的回调绑定到放置 div 的自定义元素?\n我想使用而onclick="foo(\'bar\')"
不是onclick="this.foo(\'bar\')"
.
长版:
\n\n将带有可点击 div 的自定义元素附加到DOM ,如下所示:
\n\n<my-element>\n <!-- 1. works -->\n <div onclick="this.foo(\'bar\')">click me</div>\n\n <!-- 2. not working -->\n <div onclick="foo(\'bar\')">click me</div>\n\n <!-- edit: 3. playground (works) -->\n <div onclick="me.foo(\'bar\')">click me</div>\n</my-element>\n
Run Code Online (Sandbox Code Playgroud)\n\n...现在我想将 -function 绑定foo()
到我的自定义元素 ( <my-element>
)。
第一个解决方案:这里onclick
调用( )foo()
上的 - 函数,稍后将其绑定到我的自定义元素(请参阅以下代码)。this
this.foo()
this
第二个解决方案:在这里我想省略this.
并再次将其绑定到我的自定义元素。但是:虽然绑定在上述解决方案(1.)中有效,但它并非没有前置this.
- 这是我的问题。
我有一个'偶然'问题:
当用Ajax发送请求时... open必须先发送,肯定......但是onreadystatechange分配怎么样?
在打开 Request对象之前,发送之后还是之间进行逻辑设置?
让我回想起'
// Using POST
XMLHttp.open('POST', url, true);
XMLHttp.onreadystatechange = RequestState;
XMLHttp.send(parameter);
Run Code Online (Sandbox Code Playgroud) 希望这个问题不太具体,所以......
我的问题是,我什么时候才能真正关注我如何处理易受攻击的变量,什么时候不能.例如,使用像......这样的东西显然是不安全的.
echo $_POST['username']; // insecure !!!
Run Code Online (Sandbox Code Playgroud)
在你的模板中.据说$ _GET和$ _SERVER变量也很脆弱.因此,在"使用"它们之前,我必须对它们进行消毒.但在这种情况下,"使用"意味着什么.不安全的是例如输出它们,例如echo
,将它们未经过滤地写入DB或将它们放入任何其他开放的上下文中.另一方面,将它们与其他变量进行比较,例如...
if ($_SESSION['username'] === $_POST['username']) {};
Run Code Online (Sandbox Code Playgroud)
或者将它们嵌入到像......这样的变量中
$file = 'http://www.example.com/users/' . $_POST['username']; // insecure !!! see Tom's answer
Run Code Online (Sandbox Code Playgroud)
然后检查......
if (file_exists($file)) {};
Run Code Online (Sandbox Code Playgroud)
......换句话说,将它们保存在某种封闭的环境中是安全的,不是吗?(在我看来,$ file-example可以被认为是安全方面的边界,但是就这样使用了,我认为没关系?).也许有人也知道开放和封闭的上下文之间的区别不那么明确(我希望它们在我的例子中)以引起人们的注意.
谢谢
我在Zend的页面上找到了这段代码......
<?php
$input = <<<INPUT
some text
INPUT;
?>
Run Code Online (Sandbox Code Playgroud)
好像是......
<?php
$input = 'some text';
?>
Run Code Online (Sandbox Code Playgroud)
我以前从未见过它,也找不到任何关于它的东西.有人可以给我一个关键字吗?
(参见:framework.zend.com/manual/current/en/modules/zend.escaper.escaping-javascript.html)
TY