我偶然发现了一些javascript语法似乎应该产生某种类型的解析错误但不会:
if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid
if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid
Run Code Online (Sandbox Code Playgroud)
虽然所有表达式都被执行,但似乎只有最后一个表达式会影响逻辑:
if (console.log('super'), true) {console.log('splendid')} // super splendid
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么这是有效的JavaScript语法?它有什么实际用途吗?
我正在使用Facebook的Javascript SDK“ FB.ui”来拉起OAuth对话框。单击允许后,我需要捕获会话对象,提取用户ID并在脚本中进一步使用它。由于某种原因,即使该会话确实存在,我也无法正常工作,但我一直未定义。
<script src="http://connect.facebook.net/en_US/all.js"></script>
<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
appId : '***************',
status : true,
cookie : true,
xfbml : true
});
FB.getLoginStatus(function(response) {
if (response.session) {
//do something
} else {
FB.ui({
method: 'oauth',
display: 'page',
scope: 'email',
perms: 'email'
},
function(response) {
alert(response.session.uid); //returns underfined
});
}
});
</script>
Run Code Online (Sandbox Code Playgroud) facebook facebook-java-api facebook-graph-api facebook-javascript-sdk
我有以下格式的数组.我想将其转换为另一种格式,如下所示.
Array
(
[b2] => 2
[b3] => 8
[b4] => 2
[b5] => 4
)
Run Code Online (Sandbox Code Playgroud)
是否有可能将密钥转换为PHP变量并将其值自动分配给变量?是否可能?
$b = 2;
$b3 = 8;
$b4 = 2
$b5 = 4
谢谢
IE 不支持CSS3列 - 没什么大不了的吧?尽管如此,我正试图找到任何类似于现代化的库来做这个伎俩.我真的不想为IE编写不同的CSS代码,因为这样会过分关注和关注我们都鄙视的东西.有什么建议?
我已经完全按照Bruce Snyder 的这篇文章建立了一个经纪人网络:
经纪人1:
<networkConnector name="amq1-nc"
uri="static:(tcp://localhost:61617)"
userName="system"
password="manager"
/>
Run Code Online (Sandbox Code Playgroud)
经纪人2:
<networkConnector name="amq2-nc"
uri="static:(tcp://localhost:61616)"
userName="system"
password="manager"
/>
Run Code Online (Sandbox Code Playgroud)
我在经纪人的配置 XML 的经纪人标签中都有 AdvisorySupport="false" 并启动了两个经纪人。
然后我使用以下命令启动了消费者:
ant consumer -Durl=tcp://0.0.0.0:61616
Run Code Online (Sandbox Code Playgroud)
最后使用以下命令启动生产者:
ant producer -Durl=tcp://0.0.0.0:61617
Run Code Online (Sandbox Code Playgroud)
所有生成的消息然后在端口 61617 上运行的代理上进入挂起状态,而在端口 61616 上连接的消费者永远不会收到消息。
经纪人网络是否会在未启用advisorySupport 的情况下停止转发消息?我认为这是在最近的版本中修复的。(我使用的是 activemq 5.4.2 版本)。
代理的 ActiveMQ 静态网络是否停止转发消息advisorySupport 被禁用?
更新: 我在使用advisorySupport="false" 和staticallyIncludedDestinations 时遇到了问题。
我们主要使用 JMS 进行请求-响应,如下所述:http : //activemq.apache.org/how-should-i-implement-request-response-with-jms.html
我们在生产者端使用了一个临时队列,以便能够接收来自消费者的响应,并且由于 staticallyIncludedDestinations 不能在其中包含这些临时队列名称,因此,当禁用了 advisorSupport 时,所有生产者都无法从客户端接收响应。
我得出的结论是,对于我们的方案,advisorySupport 不能关闭,除非有一些我不知道的其他配置技巧。
所以我有一些托管的域名GoDaddy.com.我试图避免支付托管服务,除了使用静态Amazon S3页面(因为我不希望这些网站有太多流量).我已经取得了一些成功,但不确定这是否是一个糟糕的解决方案......
我做了什么domain.com:
在GoDaddy上设置永久转发 www.domain.com
删除除GoDaddy IP的A地址以外的所有DNS,以及到Amazon S3站点的www的CNAME
如果有人输入,它按计划工作www.domain.com.它似乎也可以正常工作domain.com.然而,即使我告诉GoDaddy让它成为永久前锋,它似乎也会进行302重定向而不是301重定向.我最终可以转到谷歌网站管理员工具,并说我希望它使用www.domain.com.然而,这似乎有点过分.
有关如何使此解决方案更好地工作的任何建议?
可能通过更改一些我不知道的DNS设置或其他一些GoDaddy选项?
我希望有人能帮帮忙; 我想在我在Visual Studio Express Web Edition 2010(MVC2 SQL Server Express后端)中编写的项目中实现报告.谷歌搜索后,我遇到了这个微软网站:http: //social.msdn.microsoft.com/Forums/is/Vsexpressvcs/thread/60c328ec-e34c-4937-be3b-e6fc41d35711
上面的链接描述了Visual Studio Express Web Edition通过ReportViewer 2010可再发行组件支持报告(报告通过Business Intelligence Studio编写[有一个SQL Express附加]),控件被添加到工具箱中.我已经安装了可再发行组件,但找不到要添加到我的工具箱的控件 - 我似乎只有Crystal Reports查看器?
我究竟做错了什么?控件的名称是什么?它安装在哪里?或者我误解了,如果是这样,我可以选择将一些非常简单的报告发布到网上(固定布局形式)?
提前感谢您的帮助!
以下代码编译正常.
#define CMD_MACRO(pp, cmd) \
{ \
if (pp)\
{ cmd; } \
}
template<class T> void operate_on(T &data, char c) {
data=data+1;
};
int main() {
int book=4;
char c;
CMD_MACRO(book, {
operate_on<int>(book, c);
});
};
Run Code Online (Sandbox Code Playgroud)
请注意,我的代码中的实际宏更复杂,我给出了一个简化版本,这可能没有太大的逻辑意义
现在,如果我在函数中添加另一个模板参数,它会给出编译错误(代码注释中解释的问题):
template<class T, bool b> void operate_on(T &data, char c) {
data=data+1;
};
int main() {
int book=4;
char c;
CMD_MACRO(book, {
operate_on<int, false>(book, c); /* here the "," between int and
false is being treated
as separating arguments to CMD_MACRO,
instead …Run Code Online (Sandbox Code Playgroud) 有人建议我使用指针添加一个我想从一些现有函数传递给另一个函数的向量.我真的很困惑如何从该指针中获取信息.我已经尝试了很多我在这里和那里读过的东西,所以让我展示一下我在说什么.
主要课程:
std::vector<float> * dvertex=NULL;
track.calculate(irrelevant stuff, dvertex)
Run Code Online (Sandbox Code Playgroud)
二级程序(跟踪,计算)
track::caclulate(irrelevant stuff, vector<float> * dvertex)
{
...
vector<float> pos;
... pos filled after some calculations
if(! (dvertex==NULL))
{
dvertex = &pos1;
}
Run Code Online (Sandbox Code Playgroud)
回到小学,除非我弄乱了上面的东西,这里有一些我尝试过的东西
1
(*dvertex).at(0)
float z = (*dvertex).at(0)
Run Code Online (Sandbox Code Playgroud)
2
(*dvertex)[0]
Run Code Online (Sandbox Code Playgroud)
和一堆简单的东西没有编译.由于我不确定如何在主程序中从该向量中获取特定值,所以我很困惑.我甚至认为它可能是if(!(dvertex == NULL))位,因此我将其更改为if(dvertex == NULL)但仍然没有快乐.任何帮助将不胜感激.
*编辑/更新*非常感谢大家的帮助,但我担心我仍然做错了.
所以按照我刚刚传递参考的建议:我这样做了:
主
std::vector<float> dvertex;
track.calculate( foo, &dvertex);
Run Code Online (Sandbox Code Playgroud)
二级保持不变(有!空检查)
主
std::cout<<dvertex[0]<<std:endl;
Run Code Online (Sandbox Code Playgroud)
(以及实际使用数据的其他尝试)
非常感谢您对我仍然做得不正确的想法.一切都编译好,当程序达到使用dvertex数据的程度时,程序就会冻结.
编辑:最终修复
在我需要的二级课程中
*dvertex = pos1;
Run Code Online (Sandbox Code Playgroud)
代替
dvertex = &pos1;
Run Code Online (Sandbox Code Playgroud) 上下文:MobileSafari/iPad上的Web应用程序,全屏和嵌入在iframe中
目标:技术,提供自定义事件处理程序按和点击,但不 捏(变焦)或拖动(滚动/锅).我们希望为Press提供自定义行为,但让Safari仍然可以处理滚动/平移/缩放.
问题:这两个目标似乎是相互排斥的.要防止Press手势的默认行为,必须立即响应ontouchstart调用event.preventDefault.但是,要让Drag上的默认行为继续,我们不能在初始ontouchstart上调用event.preventDefault.一旦调用了preventDefault,就无法在该手势序列中恢复默认行为(即直到所有手指都脱落).在发生某些移动之前,无法识别拖动.
拖动被说明是最简单的示例,但我们也关心获取Pinch和Double-tap的默认行为.我们从不想要"复制图像"的默认MobileSafari按行为或选择文本.
到目前为止的尝试:
我们有一套全功能的手势识别器(以Javascript,ontouch*为单位),采用Apple 原生iOS手势识别器的风格.我们没有识别任何手势的问题,我们只是不知道复制Safari免费提供的缩放/平移/双击行为的好方法.
我们不需要代码; 我们正在寻找任何理论解决方案(除了"只是自己实现平移/缩放",但如果你有一种光滑的方式来做我们感兴趣的话),这将导致合理的成功.我们也有兴趣了解其他类似尝试这样做 - 当然我们不可能是第一个尝试这样做的人吗?
备用TL; DR:有没有办法阻止默认按下(也称为点击并保持)而不是触摸开始?