小编Poi*_*nty的帖子

确定浏览器是否支持打印

我认为这个问题的答案几乎肯定是"不",因为我已经做了一些测试和周围进行搜索,但没有任何窍门,以检测是否window.print()甚至可能从一个工作页面内(即,从JavaScript)?我知道,即使在桌面/笔记本电脑上,也不可能知道系统上是否配置了打印机,但至少浏览器会打开一个打印对话框.

我的Android手机有一个window.print()功能,但它(不出所料)没有做任何事情.

我再一次问,所以在SO上有一个关于这个主题的好问题:-)

javascript browser printing cross-browser modernizr

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

如何测试Javascript中的变量是否已初始化?

如何测试我的javascript代码中的变量是否已初始化?

此测试应返回false

var foo;
Run Code Online (Sandbox Code Playgroud)

并且是真实的

var foo = 5;
Run Code Online (Sandbox Code Playgroud)

javascript

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

wave.getState()返回null

当我尝试在我的Google Wave小工具中调用wave.getState()时,我返回null(没有状态对象).如何初始化Wave状态对象?我在Wave Sandbox工作.

我的ModulePrefs包含以下内容:

    <Require feature="wave" />
    <Require feature="rpc"/>
Run Code Online (Sandbox Code Playgroud)

我在搜索修复程序时从一些谷歌小组发布了"rpc"功能,但它似乎没有任何帮助.

小工具包含一个jQuery插件,它定义了我使用的类(未显示),将事件处理程序附加到以编辑模式显示的链接,并使用google wave小工具初始化程序设置回调方法:

$.fn.extend({
     $.gork.InitPass.newButtonClick = function newButtonClick() {
           var jer = new $.gork.InitPass.Player('Jeremias', 12, 2);
           var delta = {};
           delta[jer.name] = jer.serialize();
           wave.getState().submitDelta(delta);
     };

    $.gork.InitPass.modeCallback = function modeCallback() {
           var state = wave.getState();
           var mode = wave.getMode();
           $.gork.InitPass.getContainer().ipCombatState(state, (mode == wave.Mode.EDIT));
    };

    $.gork.InitPass.stateCallback = function stateCallback() {
      $.gork.InitPass.getContainer().ipCombatState(
      wave.getState(), (wave.getMode() == wave.Mode.EDIT));
      alert('state');
    };

    $.gork.InitPass.init = function init() {
     if (wave && wave.isInWaveContainer()) {
       var mode = wave.getMode();
       $('.gork-ip-container').ipCombatState(null, (mode …
Run Code Online (Sandbox Code Playgroud)

javascript null jquery google-wave getstate

7
推荐指数
0
解决办法
591
查看次数

打印页面显示IE中带有DocType的未更改复选框

奇怪的问题.我有一个简单的webform,用户可以在其中填写文本并选中/取消选中一些复选框.当在IE(7或8)中将其打印为pdf或纸张(或打印预览)时,复选框将保持不变.例如,用户设置一个支票,打印未选中...或者用未经检查的预先选中的复选框打印.

收音机也一样.

只有当我完全删除DocType时,IE才能正确打印.但我需要使用XHTML-strict.

这是一个在IE中失败的简单示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="nl" xml:lang="nl-NL"> 
<body>
<input type='checkbox' name='y'/><br/>
<input type='radio' name='x'/><br/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

不适用于我测试的任何doctype(loose或html4).

任何人都知道如何解决这个问题?

非常感谢,迈克尔

printing checkbox internet-explorer

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

jQuery .fn说"不是函数"

当我调用这个自定义函数时

$.fn.inputBoxHelper = function () {
    var args = arguments[0] || {};
    var matchingElem = $.grep(this, function (e) { return $(e).val() == $(e).attr('title'); });
    $(matchingElem).addClass(args.className);

    this.bind({
        focus: function(){
            if ($(this).val().trim() == $(this).attr('title')) { $(this).val(emptyString).removeClass('gray'); }
        },
        blur: function(){
            if ($(this).val().trim() == emptyString) { $(this).val($(this).attr('title')).addClass('gray'); }
        }
    });
    return this;
}
Run Code Online (Sandbox Code Playgroud)

像这样

$('input:text').inputBoxHelper({ className: 'gray' });
Run Code Online (Sandbox Code Playgroud)

当我打电话给它时,它给了我错误

$("input:text,input:checkbox").inputBoxHelper is not a function
file:///D:/repository/scripts/script_tests/test.js
Line 20
Run Code Online (Sandbox Code Playgroud)

即使我将功能更改为just

$.fn.inputBoxHelper = function () {return this;}
Run Code Online (Sandbox Code Playgroud)

它做了同样的事情.它似乎运行正常并且正常工作,因为所有功能都在输入框上工作,但是会出错.有人有主意吗?

javascript jquery

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

动画半饼图

我在Flash中创建了这个图片"half pie":http://www.elperiodico.com/es/elecciones-28n/
现在我将它移植到JavaScript:http://especiales.elperiodico.com/LABS/ELEC2011B/html/ EMI-basic2.htm

我希望JavaScript"半派"从左到右使用相同的动画作为Flash版本,但不能这样做.

有人会这么善意帮忙吗?

jquery animation highcharts

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

当选择多个元素时,jQuery".triggerHandler()"与".trigger()"

与".trigger()"不同,jQuery".triggerHandler()"机制仅对jQuery对象所引用的第一个元素进行操作.换一种说法,

$('.all-over-the-page').triggerHandler("readjust");
Run Code Online (Sandbox Code Playgroud)

只会使用类"all-over-the-page"为第一个元素调用"readjust"处理程序,即使页面上有许多元素也是如此.另一方面,".turigger()"方法会影响所有这些方法.

我意识到我可以使用".each()"来解决这个问题(或者只是编写我自己的替代品来为我做这件事),但是在这方面两者有何不同之处有一些理由吗?这对我来说没什么意义.(我当然明白,现在几乎肯定无法改变.)

编辑澄清:

如果我提供一个我实际得到的代码风格的上下文,可能更容易理解为什么我会对此嗤之以鼻.当我在页面上为各种"小部件"功能组合代码时,通常涉及事件处理程序.一个很好的例子是某种形式,它有一些字段,其相关性由复选框,单选按钮或选择器控制.一个常见的例子是"送货地址"复选框,显示在数十亿电子商务网站上:如果选中该复选框,则会禁用送货地址并使用帐单邮寄地址.

现在考虑一些其他代码可能由于其自身原因而完全独立于checkbox-control小部件,实际上对表单执行的操作可能包括以编程方式更新复选框设置.在这种情况下,其他窗口小部件代码可能希望使用"triggerHandler()"来告诉任何窗口小部件,"嘿,我已经更新了一些内容,因此您可能需要重新检查当前状态并在必要时进行调整."

因此,如果".triggerHandler()"将对所有选定的元素进行操作,我可以使用:

 $theForm.find('input, select, textarea').triggerHandler('change');
Run Code Online (Sandbox Code Playgroud)

所有这些处理程序都可以运行并执行他们需要的任何操作.正如我所说,写起来很容易:

 $theForm.find('input, select, textarea').each(function() {
   $(this).triggerHandler('change');
 });
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Javascript摘要手动身份验证

我阅读了有关摘要认证的所有帖子,我正在尝试,但我有任何问题,我有一个实施摘要认证的restlet,并与javascript api我正在尝试进行身份验证.

首先,我对服务器执行xmlhttprequest POST(从file://到localhost:8111,因此我遇到了CORS问题但是已经解决了),以及服务器响应401和WWW-Authenticate标头:

WWW-Authenticate:Digest realm="Guard", domain="/",        nonce="MTMzOTA5Mjk1NTE2NDo0NzY2NjJiOTgyMjE1ZDc0OWU3NzM5MTkzMWNjNGQzNw==", algorithm=MD5, qop="auth"
Run Code Online (Sandbox Code Playgroud)

所以我采用这个标题并应用身份验证摘要算法:首先创建2个变量,"cnonce"和"nc":

tokensObj["cnonce"] = 'bd5fd9b093dccaa1'; (invented)
tokensObj["nc"] = '00000001';
Run Code Online (Sandbox Code Playgroud)

我在我的文字对象中创建'uri'参数(在服务器响应中有一个"域":?)我取'domain'的值并放入我的对象的'uri'键.

之后,我做了算法:

var HA1 = MD5("login:Guard:mypassword");
var HA2 = MD5("POST:/");
var authResponse = MD5(HA1 + ':' + 

        unquotes(tokensObj["nonce"]) +
        ':' +
        tokensObj["nc"] +
        ':' +
        tokensObj["cnonce"] +
        ':' +
                    unquotes(tokensObj["qop"]) +
        ':' +
        HA2);
var responseContentHeader = 'Digest username:"login"' +', realm=' + tokensObj["realm"] +
                           ', nonce=' + tokensObj["nonce"] +
                           ', uri=' + tokensObj["domain"]  +
               ', algorithm=' + tokensObj["algorithm"] +
               ', response="' + …
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest digest digest-authentication

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

JavaScript中的32位有符号整数数学

我正在将一些传统的Pascal转换为JavaScript.我需要多个两个32位有符号整数.

在下面的示例循环中,一些乘法将导致溢出并将给出负数.这是故意的.我需要在与遗留系统匹配的末尾重现相同的最终数字x.

如何在JavaScript中实现此目的以获得相同的结果?

以下是一些示例代码:

var x = new Number(some value);  // I need this to be a 32-bit signed integer
var y = new Number(some value); // I need this to be a 32-bit signed integer

for (var i=0; i<100; i++) {   
    x = x * y; 
} 
return x;
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在JavaScript中访问字节级信息?

普遍接受的答案是,你不能.然而,越来越多的证据表明,基于读取非基本HTML类型的数据类型的项目的存在,情况并非如此.执行此操作的一些项目是ProtoBufSmokescreen的JavaScript版本.

Smokescreen是一个用JS编写的flash解释器,所以如果不能直接得到字节,这些项目是如何解决的?Smokescreen的来源可以在这里找到.我已经看了一遍,但现在JS不是我的主要语言,解决方案让我望而却步.

javascript byte bytecode

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