小编mik*_*gto的帖子

Javascript在Internet Explorer中命名为函数表达式

为什么下面的代码在Internet Explorer中不起作用(到目前为止我只在IE8中测试过):

(function(){
  this.foo = function foo(){};

  foo.prototype = {
    bar:function(){
      return 'bar';
    }
  };
})();

var x = new foo;
console.log(x.bar()) // Error: Object doesn't support this property or method
Run Code Online (Sandbox Code Playgroud)

如果我将foo分配更改为以下内容,则代码可以正常工作:

var foo = this.foo = function(){};
Run Code Online (Sandbox Code Playgroud)

我想这与IE的Javascript引擎中的命名函数有关.该代码在Chrome和Firefox中运行良好.

有任何想法吗?

javascript internet-explorer

4
推荐指数
2
解决办法
1944
查看次数

用serde_json编码迭代器的惯用方式是什么?

我想drain()一个vec鲁斯特和编码结果作为一个JSON字符串。什么是最好的惯用方法?

#![feature(custom_derive, plugin)]
#![plugin(serde_macros)]

extern crate serde;
extern crate serde_json;

#[derive(Serialize, Deserialize, Debug)]
struct Point {
    x: i32,
    y: i32,
}

impl Point {
    pub fn new(x: i32, y: i32) -> Point {
        Point {
            x: x,
            y: y
        }
    }
}

fn main() {
    let mut points = vec![Point::new(1,2), Point::new(-2,-1), Point::new(0, 0)];
    let mut drain = points.drain(..);

    println!("{}", serde_json::to_string(&drain).unwrap());
}
Run Code Online (Sandbox Code Playgroud)

json encode rust serde

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

在模型数组上激活记录to_json\as_json

首先,我没有使用Rails.我正在使用Sinatra进行Active Record的这个项目.

我希望能够在我的Model类上覆盖to_json或as_json,并让它定义一些'default'选项.例如,我有以下内容:

class Vendor < ActiveRecord::Base
  def to_json(options = {})
    if options.empty?
      super :only => [:id, :name]
    else
      super options
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

其中Vendor具有的属性多于id和name.在我的路线中,我有以下内容:

@vendors = Vendor.where({})
@vendors.to_json
Run Code Online (Sandbox Code Playgroud)

@vendors是一个Array供应商对象(显然).但是,返回的json不会调用我的to_json方法并返回所有模型属性.

我实际上没有选择修改路线,因为我实际上使用的是修改过的sinatra-rest gem(http://github.com/mikeycgto/sinatra-rest).

有关如何实现此功能的任何想法?我可以在我的sinatra-rest gem中做类似下面的事情,但这看起来很傻:

@PLURAL.collect! { |obj| obj.to_json }
Run Code Online (Sandbox Code Playgroud)

ruby activerecord activesupport sinatra

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

Rails使用respond_with destroy动作嵌套资源

respond_with嵌套资源销毁操作的适当行是什么?

我的路线:

resources :vendors do
  resources :products, :except => [:index]
end
Run Code Online (Sandbox Code Playgroud)

产品#troy(注意@vendor@product找到,before_filter其中省略了)

def destroy
  @product.destroy 
  respond_with @vendor, @product
end
Run Code Online (Sandbox Code Playgroud)

根据我的功能测试,这是回归/vendors/X/products/X而不是/vendors/X

我应该把它改成responed_to @vendor吗?

ruby ruby-on-rails-3

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

如何在URL上使用哈希时打开隐藏的div?

我正在使用这个javascript代码在我的网站上有一对"显示/隐藏"切换的div:

<script language="javascript"> 
function toggledean() {
    var ele = document.getElementById("toggleTextdean");
    var text = document.getElementById("displayTextdean");

    if(ele.style.display == "block") {
        ele.style.display = "none";
        text.innerHTML = "Show more";
    } 
    else {
        ele.style.display = "block";
        text.innerHTML = "Hide";
    }
} 
</script>
Run Code Online (Sandbox Code Playgroud)

我应该在此代码中添加什么来在加载页面时显示div,并在URL中添加特定的#hash?

非常感谢你.

html javascript hash

3
推荐指数
2
解决办法
4080
查看次数

使用Flask设置AngularJS

这应该是基本的,但我无法与Flask一起玩.Angular和Flask具有相同的可变插值语法{{ variable }},根据博客文章,我可以使用管道来区分这两者,但下面会导致读取错误no filter named 'angular'

<!DOCTYPE html>
<html ng-app>
  <head>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
    <script type="text/javascript" src= "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
  </head>
  <body>
    <label>{{ yourName | angular }}</label>
    <input type="text" ng-model="yourName" placeholder="Enter a name here">
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

flask angularjs

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

Flash反编译器

有人有Flash反编译器的经验吗?有哪些最好的产品?

flash

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

jQuery.fn - 为什么这不起作用?

这里有什么问题?(除了冗余代码).$.getJSON按预期工作.但是$.postJSON不起作用.我可以$.fn通过firebug 进行检查,确定列出了postJSON.但是,如果我尝试调用它,我会得到一个无函数定义的错误.

jQuery.fn.getJSON = function(path, opts){
  this.extend(opts, {
    url: path,
    dataType: 'json',
    type: 'GET'
  });

  var invalid = opts.error;
  opts.error = function(xhr, status){
    var data = $.httpData(xhr, 'json');
    if (invalid) 
      invalid(data);
  }

  this.ajax(opts);
};

jQuery.fn.postJSON = function(path, data, opts) {
  this.extend(opts, {
    url: path,
    data: data,
    dataType: 'json',
    type: 'POST'
  });

  var invalid = opts.error;
  opts.error = function(xhr, status){
    var data = $.httpData(xhr, 'json');
    if (invalid) 
      invalid(data);
  }

  this.ajax(opts);
};
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Pylons&Beaker:JSON编码会话

需要在node.js中读取Pylons会话数据(只是读取,而不是写入)

一旦我解码了base64,我就会留下一个包含序列化Python对象的字符串,这在node.js中很难解析

如何让Beaker序列化为JSON呢?因为node.js更容易处理.

python pylons node.js beaker

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

Java Base64解码结果意外不同

我有一个透明的1x1 GIF文件,其中包含以下数据:

$ xxd pixel.gif
00000000: 4749 4638 3961 0100 0100 f000 0000 0000  GIF89a..........
00000010: 0000 0021 f904 0100 0000 002c 0000 0000  ...!.......,....
00000020: 0100 0100 0002 0244 0100 3b              .......D..;
Run Code Online (Sandbox Code Playgroud)

该文件的Base64编码数据如下:

$ openssl base64 -in pixel.gif
R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
Run Code Online (Sandbox Code Playgroud)

如果我解码此字符串,则会得到以下正确输出:

$ echo 'R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==' | openssl base64 -d | xxd
00000000: 4749 4638 3961 0100 0100 f000 0000 0000  GIF89a..........
00000010: 0000 0021 f904 0100 0000 002c 0000 0000  ...!.......,....
00000020: 0100 0100 0002 0244 0100 3b
Run Code Online (Sandbox Code Playgroud)

当尝试用Java解码此字符串时,我得到了意外的结果。考虑以下示例Java程序:

$ xxd …
Run Code Online (Sandbox Code Playgroud)

java base64

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