我在 node.js 上运行 socket.io,在 Apache 网站上运行 socket.io 客户端。如果我不启动 node.js 服务器并加载客户端页面,则会触发错误事件并显示一条空错误消息,从而导致以下控制台输出:
GET http://example.com:1337/socket.io/1/?t=1359731838906 socket.io.js:1659
Socket.handshake socket.io.js:1659
Socket.connect socket.io.js:1699
Socket socket.io.js:1551
io.connect socket.io.js:94
(anonymous function) general.js:7
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能阻止将此错误写入控制台?
我在我的Ubuntu机器上安装了NodeJS并创建了以下脚本....
var host = 'localhost'
var port = '8080'
var net = require('net');
net.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.on("data", function (data) {
socket.write(data);
});
}).listen(port, host);
console.log('Server running at http://' + host + ':' + port + '/');
Run Code Online (Sandbox Code Playgroud)
然后我跑...
node example.js
Run Code Online (Sandbox Code Playgroud)
...在一个终端,它给了我以下......
Server running at http://localhost:8080/
Run Code Online (Sandbox Code Playgroud)
我用以下代码创建了一个简单的HTML页面......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'></script>
<script>
$(document).ready(function(){
if(!("WebSocket" in window)) {
alert("Sorry, the build of your browser does not support WebSockets.");
return;
}
ws = new WebSocket("ws://localhost:8080/"); …Run Code Online (Sandbox Code Playgroud) 在我的页面上,我有一个部分,我想提取各种RSS源.
我不想使用PHP引入提要,因为我的页面将受到从每个服务器获取响应所需的时间的影响.
相反,我想要做的是将RSS提要URL放在页面上,让Javascript选择它们并提取内容.
解决方案的Javascript方面没有问题,但我找不到将URL从HTML传递到JS的解决方案,我很满意.理想情况下,我想要......
<div>
<param name="url" value="/url/of/some/feed">
<param name="url" value="/url/of/some/other/feed">
</div>
Run Code Online (Sandbox Code Playgroud)
但我意识到这是无效的.
有人有什么好的解决方案?(ps.我不想在我的视图文件中写JS)
我当前的项目使用 Web 组件(自定义元素和 Shadow DOM),这使我能够封装复杂的逻辑和样式,远离 Light DOM。
不幸的是,我现在遇到了一个障碍,我需要能够随意切换元素,而无需解除绑定和重新绑定事件处理程序的麻烦。
对我来说,这听起来像是事件委托的工作,因此我尝试向 Light DOM 中的父节点添加一个事件侦听器,希望该事件能够从 Shadow DOM 中冒出。
这似乎违背了 Shadow DOM 的封装,并且 event.target 始终是 ShadowRoot 而不是子级。
在这种情况下我可以做些什么来允许经典事件委托吗?下面的代码片段显示了问题。我希望能够单击内部 DIV 并在单击事件处理程序中处理单击,但 event.target 始终是 custom-el
/* jshint esversion: 6 */
customElements.define('custom-el', class extends HTMLElement {
constructor() {
super();
this._shadowRoot = this.attachShadow({
mode: 'open'
});
const oInnerDiv = document.createElement('div');
oInnerDiv.classList.add('inner');
oInnerDiv.style.border = '2px solid blue';
oInnerDiv.style.padding = '3rem';
this._shadowRoot.appendChild(oInnerDiv);
}
});
document.addEventListener('click', oEvent => {
document.getElementById('result').innerText = oEvent.target.tagName;
}, true);Run Code Online (Sandbox Code Playgroud)
html {
box-sizing: border-box;
}
*,
*::before, …Run Code Online (Sandbox Code Playgroud)我想知道是否有人知道Linux的简单opengl游戏引擎,其中源可供阅读.
我基本上想要阅读源代码以更好地了解事物是如何组合在一起的,而不必担心代码是跨平台的,还是有奇特的粒子效应或任何东西.
我已经能够使用PHP SDK从我的所有EC2实例中检索完整的标签列表,但我很难将结果过滤到特定的实例...
// Collect instance information
$sInstanceId = file_get_contents('http://169.254.169.254/latest/meta-data/instance-id'); // 'i-52da5b1f'
$sAvailabilityZone = file_get_contents('http://169.254.169.254/latest/meta-data/placement/availability-zone'); // 'eu-west-1b'
$sRegion = preg_replace('/^(.*)([0-9]{1})([a-zA-Z]{1})/', '$1$2', $sAvailabilityZone);
use Aws\Common\Aws;
use Aws\Ec2\Command\DescribeTags;
use Aws\Common\Enum\Region;
// Set up the global AWS factory
$oAWS = Aws::factory(array(
'key' => CONST_AWS_ACCESS_KEY,
'secret' => CONST_AWS_SECRET_KEY,
'region' => $sRegion
));
// Query EC2 for tags
$oEC2Client = $oAWS->get('ec2');
$oModel = $oEC2Client->describeTags()->toArray();
Run Code Online (Sandbox Code Playgroud)
我已经尝试将talkTags的调用改为......
$oModel = $oEC2Client->describeTags(array(
"Filters" => array(
array("Name" => "resource-id", "Value" => $sInstanceId)
)
))->toArray();
Run Code Online (Sandbox Code Playgroud)
但这似乎没有任何区别.有人可以为我解释一下吗?
我已经设置了一个RESTful API和一个单独的客户端网站来调用它.
客户端网站使用资源所有者密码凭据授予类型oAuth2从API获取访问令牌(来自https://myapi.com/v1/oauth/token)
对API的每次其他调用都必须包含访问令牌才能访问数据.
使用Slim框架,我如何获取访问令牌,为属于访问令牌的用户查询数据库并使该用户模型可用于路由?
我想做这样的事情,但我不确定如何......
function validateAccessToken() {
$access_token = $_GET["access_token"];
$user = \models\user::where("access_token", "=", $access_token)->first();
if($user === NULL) {
throw new exception("Invalid access token");
}
return $user
}
$app->get("/v1/emails", validateAccessToken(), function() use ($app) {
$emails = \models\emails::where("user_id", "=", $user->id)->toArray();
echo(json_encode($emails));
});
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个简单的 NodeJS 应用程序,现在我已经将它移到了 AWS 中的服务器上。
我能够通过 ssh 进入服务器并启动应用程序,但显然一旦我关闭终端,进程就会停止。
如何在关闭终端后启动我的 NodeJS 应用程序并使其保持运行?
变量值列在下面
$v['flag'] = 10
kPOSTAGE_HOME = 8
Run Code Online (Sandbox Code Playgroud)
那么下面这行怎么办?!
if(($v['flag']&kPOSTAGE_HOME)==kPOSTAGE_HOME) {
//do something
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的代码库中搜索所有jscript目录,然后使用以下批处理脚本获取这些目录中的相关文件列表...
@echo off
setlocal enableextensions enabledelayedexpansion
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S jscripts') DO (
CD %%G
CD dev
SET "currentDir=!cd!"
IF NOT "!currentDir:~-1!"=="\" SET "currentDir=!currentDir!\"
FOR /r %%F IN (*.js) DO (
SET "relativePath=%%F"
SET "relativePath=!relativePath:%currentDir%=!"
ECHO !relativePath!
)
)
Run Code Online (Sandbox Code Playgroud)
一切都按预期进行,直到...
SET "relativePath=!relativePath:%currentDir%=!"
Run Code Online (Sandbox Code Playgroud)
我可以弄清楚我需要用什么格式来写这个......
c:\dir\jscript\dev\file.js
Run Code Online (Sandbox Code Playgroud)
进入...
file.js
Run Code Online (Sandbox Code Playgroud)
请帮忙!
附加信息
目录设置如下
dir
jscripts
dev
file.js
file2.js
live
file.js
file2.js
dir2
jscripts
dev
file.js
file2.js
live
file.js
file2.js
Run Code Online (Sandbox Code Playgroud)
我想找到所有jscripts目录,CD 进入它们,获取相对于 dev目录的所有 JS 文件的列表
javascript ×4
node.js ×3
php ×3
linux ×2
access-token ×1
amazon-ec2 ×1
batch-file ×1
c++ ×1
game-engine ×1
html ×1
html5 ×1
middleware ×1
opengl ×1
rest ×1
sdk ×1
shadow-dom ×1
slim ×1
socket.io ×1
tags ×1
view ×1
websocket ×1
windows ×1