小编ttb*_*ack的帖子

如何通过单击按钮来打开和关闭引导程序警报?

我想通过按钮单击事件多次显示警告框,而不必刷新页面,但警报框只显示一次.如果我想再次显示警告框,我必须刷新页面.

目前,如果在页面上呈现引导程序警报,则在关闭它时,警报的div容器将从页面中消失.因此,当您再次单击该按钮时,它不再显示.我一直在关闭按钮上执行以下操作使其隐藏而不是删除警报的div容器.

<button class="close" onclick="$('#alertBox').hide();; return false;">×</button>
Run Code Online (Sandbox Code Playgroud)

我想知道在引导程序中使用数据切换或数据关闭是否可以使这种切换效果工作,而无需通过我自己的自定义Javascript处理程序.

jquery jquery-ui twitter-bootstrap

34
推荐指数
2
解决办法
9万
查看次数

Chrome中的iframe错误:Uncaught SecurityError:无法从"Window"读取"sessionStorage"属性

Uncaught SecurityError:无法从'Window'读取'sessionStorage'属性:此文档拒绝访问.

不知道怎么进一步这个...当我所做的只是"在Firefox中工作,而不是在Chrome中.可能与http://help.twitch.tv/customer/portal/questions/6299203-javascript-errors-in-chrome-相关

iframe google-chrome

32
推荐指数
1
解决办法
3万
查看次数

如何在每个批处理脚本运行后清除变量?

似乎因为我使用SET在批处理脚本中声明我的变量,如果我在cmd中多次运行它,变量值将保持不变,除非我明确地重置它们.

我是否必须使用setlocal和endlocal来确保一次运行中的变量不会持久化到另一次运行而不关闭CMD?

windows cmd batch-file

15
推荐指数
1
解决办法
3万
查看次数

通过sqlalchemy和pyodbc访问MS SQL数据库时出现"登录超时已过期"错误

所以我在使用远程MS SQL Server进行sqlalchemy和pyodbc时遇到了一些麻烦.本地sqlcmd工作正常但不是当我尝试通过python代码读取数据库时.任何帮助,将不胜感激.

环境:

  • Centos 7
  • SQLCmd版本:版本17.1.0000.1 Linux
  • MS SQL Server 6.01.7601.17514
  • Python 2.7

以下sqlcmd正常工作

sqlcmd -S {Host},{Port} -U {USER} -P {PWD} -Q "use {Database};"
Run Code Online (Sandbox Code Playgroud)

试图直接使用sqlalchemy或pyodbc不起作用.错误:

pyodbc.OperationalError:('HYT00',u'[HYT00] [unixODBC] [Microsoft] [SQL Server的ODBC驱动程序17]登录超时过期(0)(SQLDriverConnect)')

代码:尝试使用pyodbc

conn = pyodbc.connect(
    r'DRIVER={ODBC Driver 17 for SQL Server};'
    r'SERVER=HOST,PORT;'
    r'DATABASE=DATABASE;'
    r'UID=UID;'
    r'PWD=PWD'
    )
Run Code Online (Sandbox Code Playgroud)

尝试使用sqlalchemy:

create_engine('mssql+pyodbc://{user}:{password}@{host}:{port}/{database}?driver={driver}'.format(
        user=user,
        password=password,
        host=host,
        database=database,
        port=port,
        driver="ODBC+Driver+17+for+SQL+Server"
    )).connect()
Run Code Online (Sandbox Code Playgroud)

如果我从命令中删除端口,我可以使用sqlcmd重现错误,所以我传递给pyodbc的conn_string可能格式不正确吗?

sql-server sqlalchemy sqlcmd pyodbc

8
推荐指数
2
解决办法
3486
查看次数

对于Javascript中的嵌套对象,{}消耗的内存少于[]吗?

我有一些遗留的JS代码,用[]创建一个巨大的嵌套对象结构.代码有点像这样

var data = [];
data ["first"] = [];
data ["first"]["second"] = [];
data ["first"]["second2"] = "hello";
Run Code Online (Sandbox Code Playgroud)

它大约是250多KB的javascript,相当大.当我尝试用requirejs将其包装到另一个requirejs模块时,它会抛出Out Of Memory错误.

如果我使用{},那么错误就会消失.

我周末在[]和{}上做了一些功课,原因似乎是使用关联数组作为嵌套词典可能在Javascript中泄漏,因为数组扩展了一个JS对象,并且在追加新对象时可能会有更多的更新内容进去.但它是否解释了内存消耗问题?或者它与Requirejs如何解析模块的对象有关?

我没有足够的知识来做JS内存检测,并在浏览器引擎中使用{}或[]进行比较,因此很难得出结论.关于如何衡量{}与[]的任何暗示或建议都将受到欢迎.

更新:我昨天通过节点尝试了一些sizeOf().我使用了所有现有的:"js-sizeof","object-sizeof","sizeof"

码:

var sizeof = require('object-sizeof');


var obj = [];
obj['ball'] = 'hello';
obj['air'] = 'hello';
obj['ball']['fire'] = 'world';
obj['ball']['ice'] = [];
console.log(sizeof(obj));

var obj2 = {};
obj2['ball'] = 'hello';
obj2['air'] = 'hello';
obj2['ball']['fire'] = 'world';
obj2['ball']['ice'] = [];
console.log(sizeof(obj2));
Run Code Online (Sandbox Code Playgroud)

结果是

[]:34 {}:34

sizeOf实际上是相同的.但是,[]可能会触发内存不足问题.我不确定是解析它的requirejs是触发它还是某些V8优化路径.我认为Lint工具甚至不建议反对这种做法所以它在实践中以"正确"的方式是相当模糊的

javascript browser requirejs

7
推荐指数
1
解决办法
265
查看次数

自定义localStorage js功能未在Chrome中运行

我正在做的事情:

在localStorage之上创建我自己的存储API,以便在我自己的代码中使用它更容易.

为什么?

所以它有一个API用于我的目的,可以稍后扩展.

系统:

Chrome版本:版本22.0.1229.94 m

JSFiddle:http://jsfiddle.net/ttback/kr88W/

错误

小提琴将在控制台中触发错误:

TypeError:对象#的属性"localStorageSave"不是函数

这适用于IE 8和Firefox 16.0.1,所以我想知道我是否遗漏了某些东西或者它是Chrome的错误.

码:

<html>
<head>
<title>JS function not working in Chrome</title>
<script type="text/javascript">
var localStorage = localStorage || {};
localStorage.localStorageSave = function(){
    alert("SAVE");
};
localStorage.localStorageSave();
</script>
</head>
<body>


</body>

</html>?
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome local-storage

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

有什么方法可以延长请求超时限制?

我正进入(状态

[2] [CRITICAL] WORKER TIMEOUT at = error code = H12 desc ="Request timeout"method = POST dyno = web.1 connect = 1ms service = 30000ms

我正在heroku上启动一个烧瓶网络应用程序

web: gunicorn server:app --timeout 60 --worker-class gevent --log-file=-
Run Code Online (Sandbox Code Playgroud)

--timeout标志似乎并没有不管我使用同步或GEVENT工人.我有什么想法可以延长请求超时限制?

当然,我可能需要研究这种长进程的异步处理.

python heroku flask

4
推荐指数
1
解决办法
2714
查看次数

需要更好的Node.js http.get请求错误处理

我使用以下http.get()调用来调用本地端点:

http.get({
    host: 'localhost',
    port: 80,
    path: '/service/info?id=' + id
}, function(response) {
            console.log(response);
    response.setEncoding('utf8');
    var data = "";

    response.on('data', function(chunk) {
        data += chunk;
    });

    response.on('end', function() {
        if(data.length > 0) {
            try {
                var data_object = JSON.parse(data);
            } catch(e) {
                return;
            }
        }
    });
}).on("error", function (){console.log("GET request error")});
Run Code Online (Sandbox Code Playgroud)

但是,如果我发送一个格式错误的请求,这将触发HTTP 400,请求在合成上是不正确的等等,即使response.statusCodein function(response)为400,它最终会导致catch() response.on('end', function() {}而不是发出错误事件http.get(),我想知道为什么会这样.以及如何在node.js上将HTTP 400响应作为错误处理

如果它到达catch(e),它会等待很长时间,直到它对客户端做出任何反应,这也很奇怪.我希望服务器尽快响应客户端它达到400.

javascript node.js

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

Socket.io广播到没有在socket.io v.0.9.13中工作的房间

socket.broadcast.to(newroom).emit('updatechat', 'SERVER', socket.username+' has joined this room');
Run Code Online (Sandbox Code Playgroud)

没有打到客户端.我只能看到来自的消息:

socket.emit('updateActivity', 'SERVER', 'you have CONNECTED to '+ socketEntity.roomName);
Run Code Online (Sandbox Code Playgroud)

我做错了socket.join()什么?

我也试图给广播事件一个不同的名字而不是updateActivity,但它也不会起作用.

在日志输出中没有提到有关广播发射的信息.

问题更新:

我找到了一个解决方案,如果我将broadcast.to()替换为以下代码段,它将起作用:

socket.get(socketEntity.roomId, function (error, room) {
   io.sockets.in(room).emit('updateActivity', 'SERVER', 'you -joined- this group '+ socketEntity.roomName);
});
Run Code Online (Sandbox Code Playgroud)

但是我不知道为什么会出现这种情况......所以roomio.sockets.in()的参数在某种程度上isn't与字符串相同socketEntity.roomId

原始代码:

服务器:

io.sockets.on ('connection', function (socket){
    socket.on('joinRoom', function(socketEntity){
        socket.join(socketEntity.roomId);
        socket.emit('updateActivity', 'SERVER', 'you have CONNECTED to '+ socketEntity.roomName);
        socket.broadcast.to(socketEntity.roomId).emit('updateActivity', 'SERVER', 'you -joined- this room'+ socketEntity.roomName);
    });
});
Run Code Online (Sandbox Code Playgroud)

客户:

HTML:
<ul id="activityList" class="dropdown-menu"></ul>
Run Code Online (Sandbox Code Playgroud) JavaScript的:
$(document).ready(function(){
    var …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

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