小编mwc*_*wcz的帖子

为什么可以从网页上的绝对路径中省略协议?

我最近遇到了一个网站,它在select元素上有一些有趣的样式.我去调查并发现了这个(名字改为保护无辜者):

<script type="text/javascript" src="//www.domain.tld/file.js"></script>
Run Code Online (Sandbox Code Playgroud)

尽管HTTP:被省略,它仍然有效.离开协议的目的是什么?

url

10
推荐指数
1
解决办法
1662
查看次数

错误:'if'之前的预期unqualified-id

我已经用Google搜索了这个错误,直到我脸红了,但是无法将任何结果与我的代码联系起来.这个错误通常是由于错误或缺少括号,父母等造成的.

自从我编写任何C++以来,这已经很长时间了,所以我可能会有一些明显的,愚蠢的事情.

这是我写的Qt Mobile应用程序Qt Creator 2.4.0, Based on Qt 4.7.4 (64 bit) Built on Dec 20 2011 at 11:14:33.

#include <QFile>
#include <QString>
#include <QTextStream>
#include <QIODevice>
#include <QStringList>

QFile file("words.txt");
QStringList words;

if( file.open( QIODevice::ReadOnly ) )
{
    QTextStream t( &file );

    while( !t.eof() ) {
        words << t.readline();
    }

    file.close();
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?提前致谢.

c++ qt qt4 qt-creator

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

调色板是否有标准的XML或JSON模式?

我想通过Web服务制作调色板,并且想知道调色板是否有任何标准模式(XML,JSON等).

谷歌搜索并不富有成效.有任何存在,还是应该自己滚动?

谢谢!

编辑:这样简单的事情会起作用:

[ 'FFFFFF', '000000', ... ]
Run Code Online (Sandbox Code Playgroud)

但是如果有一个传输调色板的标准,我会喜欢它,即使它有比我需要的更多的功能.

xml json colors

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

CasperJS是否提供对底层PhantomJS对象的引用?

我正在将一个脚本从PhantomJS迁移到CasperJS,我想知道Casper是否提供了它在幕后使用的Phantom对象的任何引用.

Phantom提供了一些Casper没有的功能(例如,injectJs).

为了完整起见,以下是Phantom的所有对象:

通过查看casper对象的属性,我确实找到了对webpageobject(casper.page)的引用,因此处理了我的特定用例.我想我会发布这个问题,以防其他人需要访问system,fs,webserver或child_process.

javascript automation phantomjs casperjs

8
推荐指数
1
解决办法
2301
查看次数

是否可以检测脚本是否作为RequireJS模块加载?

我研究是否有检测,这是一种肯定,无论是给定的脚本目前正在RequireJS加载.一般来说AMD模块的答案会更好,但我的用例只是RequireJS.

jQuery和其他库"检测"它是这样的:

if ( typeof define === "function" && define.amd ) {
    define( "jquery", [], function() {
        return jQuery;
    });
}
Run Code Online (Sandbox Code Playgroud)

在大多数情况下这已足够,但问题是它不会检测脚本是否作为AMD模块加载,它只检测是否define存在并支持AMD规范.

是否有一种方法,无论是使用RequireJS还是通常使用AMD模块,脚本都可以确定(实际上)它是否作为模块加载?

javascript amd requirejs

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

vim语法高亮显示ColdFusion哈希标记

我正在尝试创建一个补丁cf.vim来解决哈希问题.在ColdFusion中,#符号用于将表达式括在cfoutput块内.

<cfset x = 1 />
<cfoutput> x is now #x# </cfoutput>
<!--- outputs "x is now 1" --->
Run Code Online (Sandbox Code Playgroud)

当有一个单独#cfoutput块而不是块内时,问题就会发挥作用:

<a href="#x">an anchored link</a>
Run Code Online (Sandbox Code Playgroud)

这将导致vim突出显示所有内容,#就像它在a中一样cfHashRegion.

syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contained containedin=cfOutputRegion contains=@cfExpressionCluster,cfScriptParenError

syn region cfOutputRegion matchgroup=NONE transparent start=+<cfoutput>+ end=+</cfoutput>+ contains=TOP
Run Code Online (Sandbox Code Playgroud)

有什么我可以添加来cfHashRegion告诉vim"除非找到开始和结束属性,否则不要输入cfHashRegion?

超级奖励:cfoutput只是"cfOutputRegion"中最常见的方式.任何cffunction使用output ="true"的行为就好像其块中的所有内容都包含在cfoutput标记中一样.

vim coldfusion syntax-highlighting

6
推荐指数
1
解决办法
767
查看次数

CSS3列拆分Mid-div

我有一个结构如下的网页:

<div id="content">
     <div class="post">
          <p>content1</p>
     </div>
     <div class="post">
          <p>content2</p>
     </div>
     <div class="post">
          <p>content3</p>
     </div>
     <div class="post">
          <p>content4</p>
     </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用CSS3列进行2列布局,使得上方,下方,左侧和右侧的每个div.post之间的距离(边距)为20px.我遇到的问题是,有时左下方div.post的底部被切断并继续在右列的顶部.

我无法将完整的div.post保留在左列的底部,而不是分割并完成右列的显示.我很感激我能得到任何帮助!谢谢!

此外,每个div.post的高度可能会有所不同,因此向左浮动所有内容都不会很好(它很乱).

编辑:这是相关的CSS:

#content {
   margin-bottom:20px;
   width:910px;
   -webkit-column-count: 2;
   -webkit-column-gap: 0;
   -moz-column-count: 2;
   -moz-column-gap: 0;      
   column-count: 2;
   column-gap: 0; 
}

.post {
   width:410px;
   margin:20px;
   padding:10px; 
}
Run Code Online (Sandbox Code Playgroud)

css css3

6
推荐指数
2
解决办法
3700
查看次数

68k 寄存器地址

这个问题是在乞求一堆“你为什么要这样做?” 回应。

我无法在68k 程序员参考手册 中找到此信息,但这可能是因为我不确定要搜索什么措辞。

这是 68kADD操作码的指令格式。

在此处输入图片说明

位 0-2 和 9-11 指定寄存器。68k 寄存器的二进制表示是什么?它们是“地址”吗?

是的,我知道我可以编写 68k 汇编程序并对其进行调试以找到此信息。我正在寻找参考。谢谢!

assembly 68000 instruction-set machine-code

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

解码68k指令

我正在编写一个解释为68k的模拟器作为个人/教育项目.现在我正在尝试开发一种简单的通用解码机制.

据我了解,每条指令的前两个字节足以唯一地标识操作(有两个罕见的例外)和剩余要读取的字数(如果有的话).

以下是我想在解码阶段完成的工作:

1. read two bytes
2. determine which instruction it is
3. extract the operands
4. pass the opcode and the operands on to the execute phase
Run Code Online (Sandbox Code Playgroud)

我不能只将前两个字节传递到查询表中,就像RISC拱门中的前几位一样,因为操作数是"在路上".我怎样才能2以一般方式完成任务?

从广义上讲,我的问题是:如何从解码过程中消除操作数的可变性?

更多背景:

以下是程序员参考手册8.2节的部分表格:

Table 8.2. Operation Code Map

Bits 15-12      Operation
0000            Bit Manipulation/MOVEP/Immediate
0001            Move Byte
...
1110            Shift/Rotate/Bit Field
1111            Coprocessor Interface...
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义,但后来我看了每条指令的位模式,并注意到没有单个指令,其中15-12位是0001,0010或0011.必须有一些大的图片我失踪了.

这个解码Z80操作码网站明确地解释了解码,这是我在68k程序员的参考手册或谷歌搜索中找不到的.

decode 68000 emulation

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

在JS中调用数字文字的函数有哪些规则?

自从我开始使用JS以来,我认为在数字文字上调用函数的唯一方法是通过用parens包装它来将它放在表达式位置,如下所示:

1.toString();
// SyntaxError: identifier starts immediately after numeric literal

(1).toString();
// "1"
Run Code Online (Sandbox Code Playgroud)

今天,我想到尝试这个:

0.1.toString();
// "0.1"
Run Code Online (Sandbox Code Playgroud)

为什么这样做?指向官方规范的指针会很棒.

编辑歧义是我的第一个想法,但随后决定1.toString()两者都没有歧义.这比我初想的要深,但我仍然认为我是对的.原因如下:

属性名称可以以数字开头

var obj = { "1" : 1, "2" : 2 };
Run Code Online (Sandbox Code Playgroud)

以数字开头的属性名称只能用方括号引用

obj.1;
// SyntaxError: Unexpected token ILLEGAL
obj['1'];
// 1
Run Code Online (Sandbox Code Playgroud)

也:

1['toString']();
// '1'
Run Code Online (Sandbox Code Playgroud)

因此,1.任何非数字后跟始终是方法调用或属性访问,永远不是十进制数.同样,1.后跟任何数字将始终是十进制数字,从不进行方法调用或属性访问.

javascript

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