小编mer*_*ial的帖子

使用javascript Date(),与Safari相比,Firefox中的时区不正确

以下代码

var date = new Date();
console.log( date );
Run Code Online (Sandbox Code Playgroud)

给我

Sun Mar 06 2011 21:41:36 GMT+1300 (NZST) {}
Run Code Online (Sandbox Code Playgroud)

在Firefox中,但是

Sun Mar 06 2011 21:40:51 GMT+1300 (NZDT)
Run Code Online (Sandbox Code Playgroud)

在Safari(这是正确的).

我的系统日期和时间设置为NZDT,所以我想知道firefox从哪里获得NZST.请注意,UTC偏移量(+1300)在两种情况下都是正确的.

如何让Firefox显示正确的时区:NZDT?

javascript firefox timezone

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

iOS:如何使用XIB以编程方式创建视图,但不使用View Controller

我试图用一些相同的子视图填充滚动视图,除了数据更改.如果我想以编程方式完成整个事情,我可以这样:

int width = 110;
int count = 0;
self.scrollView.contentSize=CGSizeMake(width*[items count],100);

for (NSString *id in items) {
    Item *item = [items objectForKey:id];
    CGRect frame = CGRectMake(count*width, 0, 100, 100);
    UIView *itemSubview = [[UIView alloc] initWithFrame:frame];

    CGRect dataLabelFrame = CGRectMake( 0, 52, 35, 30 );
    UILabel* dataLabel = [[UILabel alloc] initWithFrame: dataLabelFrame];
    dataLabel.text = @"Data specific to item"; // item.property or something
    dataLabel.font:[UIFont systemFontOfSize:30];
    dataLabel.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];

    [itemSubview addSubview:dataLabel];
    [self.scrollView addSubview:itemSubview];
    [itemSubview release];
}
Run Code Online (Sandbox Code Playgroud)

都好.现在,如果我的subView有点复杂,我该如何做同样的事情,我想用Interface Builder和xib存档来解决它?到目前为止,我有:

  • 创建了我自己的自定义视图代码,ItemSubview,使用IBOutlet …

objective-c ios

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

使用box-sizing时,jQuery.height()在WebKit和Firefox中的行为有所不同:border-box

我有一个textarea应用了以下样式:

textarea {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
}
Run Code Online (Sandbox Code Playgroud)

如果我然后运行以下javascript/jquery代码,我的textarea的高度将使用Safari(5.0.6)和Chrome(16.0.x)减少一半:

$('textarea').each( function() {
    var $this = $(this);
    $this.height( $this.height() );
}
Run Code Online (Sandbox Code Playgroud)

根据.height()的jQuery文档,这是预期的行为,因为.height()返回内容高度(无填充,边框),无论box-sizing属性如何,但.height(value)设置内容大小盒子大小的属性进行说明.因此,如果我的textarea具有content-height:17px和padding-height:15px,则.height()将返回17px.然后,如果我设置.height(17)我曾经是32px高的textarea现在只有17px高.

我的真实应用程序是在应用了box-sizing的textareas上使用jQuery.fn.autoResize 1.14(https://github.com/padolsey/jQuery.fn.autoResize).该代码与我上面描述的相似.

它在FireFox 10中运行良好.(也就是说,FireFox在获取和设置高度时以更加对称的方式考虑盒子大小.)

我的问题是:错误在哪里,我应该在哪里寻找/提出一个解决方法?jQuery.fn.autoResize插件,jQuery团队,webkit或FireFox?

javascript css firefox jquery webkit

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

在Google App Engine中使用python寻找openid + oauth hybrid的优秀示例/模板

我已经单独实现了oauth和openid(即,使用OpenId登录,使用OAuth对Google Data API单独授权)并希望将它们组合在一起.

目前我的app.yaml中有以下内容

- url: /_ah/login_required
  script: main.py

- url: .*
  script: main.py
  login: required
Run Code Online (Sandbox Code Playgroud)

然后,在main.py我有:(为清晰起见,删除了导入)

def getClient():
    client =  gdata.calendar.service.CalendarService()
    consumer_key = 'my-app.appspot.com'
    consumer_secret = 'consumersecret'
    client.SetOAuthInputParameters(
        gdata.auth.OAuthSignatureMethod.HMAC_SHA1,
        consumer_key=consumer_key, 
        consumer_secret=consumer_secret)
    gdata.alt.appengine.run_on_appengine(client)
    return client

class OAuthOne(webapp.RequestHandler):
    def get(self):
        client = getClient()
        request_token = client.FetchOAuthRequestToken(oauth_callback='http://my-app.appspot.com/oauth2')
        client.SetOAuthToken(request_token)
        auth_url = client.GenerateOAuthAuthorizationURL()
        self.redirect( auth_url )

class OAuthTwo(webapp.RequestHandler):
    def get(self):
        client = getClient()
        token_from_url = gdata.auth.OAuthTokenFromUrl(self.request.uri) 
        if not token_from_url:
            self.redirect('/oauth')
        else:
            client.SetOAuthToken(token_from_url)
            oauth_verifier = self.request.get('oauth_verifier', default_value='')
            client.UpgradeToOAuthAccessToken(oauth_verifier=oauth_verifier)
            self.redirect('/')

class MainPage(webapp.RequestHandler):

    def get(self):
        self.user = …
Run Code Online (Sandbox Code Playgroud)

python openid google-app-engine oauth

5
推荐指数
0
解决办法
1112
查看次数

如何管理Google App Engine服务帐户私钥?

我有一个 Google 应用程序引擎应用程序,它使用服务帐户为关联的 Google Apps 域中的用户订阅特定日历。

我可以通过下载服务帐户私钥然后使用它进行身份验证来使其在我的开发环境中正常工作。

但我对于上传私钥作为生产部署的一部分犹豫不决。这是最佳实践吗?有没有更好的方法可以在不涉及上传我的私钥的情况下向 Google Apps 域验证 App Engine 服务帐户?适当的最佳实践是什么?

google-app-engine google-oauth

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

AFNetworking与CoreData线程安全吗?

我在我的iPhone应用程序上遇到了间歇性的,难以重现的错误,因此我正在检查我对并发性的假设.

运行AFNetworking v0.10.x,我有以下网络呼叫:

[self postPath:@"/myEndPoint"
    parameters:params
       success:^(AFHTTPRequestOperation *request, id response)
          {
              AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
              // do stuff with object context here
              [appDelegate.objectContext save];
          }     
]       
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
// do other stuff with object context
[appDelegate.objectContext save];      
Run Code Online (Sandbox Code Playgroud)

在我的AppDelegate中:

-(NSManagedObjectContext*) objectContext
{
    if(nil == _objectContext)
    {
        ... set up sqlite persistent store coordinator and object model ...

        _objectContext = [[NSManagedObjectContext alloc] init];
        [_objectContext setPersistentStoreCoordinator:persistentStoreCoordinator];
        [_objectContext setMergePolicy:NSOverwriteMergePolicy];
    }
    return _objectContext;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否有可能最终出现并发问题?或者,换句话说,AFNetworking的API线程安全吗?我认为NSOverwriteMergePolicy会因冲突而覆盖我,但崩溃仍然存在(虽然是间歇性的).

iphone core-data ios afnetworking

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

如何使用纯 DOM Javascript 以编程方式触发 React 组件中的 <select> onChange?

我有一个简单的 React 组件:

state = {
  value: '',
};

render() {
  return <select onChange={this.handleChange} value={this.state.value}>
    <option value="">--</option>
    <option value="1">One</option>
  </select>;
}

handleChange = (e) => {
  this.setState({
    value: e.target.value,
  });
  console.log('Handling Change!!')
};
Run Code Online (Sandbox Code Playgroud)

我希望能够通过普通的 javascript 或在本例中通过 jQuery 以编程方式触发事件处理程序

$select = $('select');
$select.val('1');
// then
$select.trigger('change');
// or
$select.trigger('input');
Run Code Online (Sandbox Code Playgroud)

但是这些都不会触发onChangeReact 组件中的处理程序,因此状态不会更新。

我的问题:如何onChange使用 DOM 和 Javascript触发处理程序?

[编辑]

为了进一步澄清,我正在像这样安装 React 组件:

el = document.createElement('div')
ReactDOM.render(MySelect, el)

$select = $(el).find('select');
$select.val('1');
// then
$select.trigger('change');
// or …
Run Code Online (Sandbox Code Playgroud)

javascript dom reactjs

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

使用php is_dir('〜/ tmp')可以在一台机器上运行,但不能在另一台机器上运行.为什么?

我试图运行以下代码:

is_dir('~/tmp');
Run Code Online (Sandbox Code Playgroud)

在共享的LAMP堆栈上.它工作正常,并返回TRUE.(该目录存在.)当我在本地盒子上运行相同的代码(Mac OSX 10.5,运行Zend Server Community Ed)时,我得到FALSE这是错误的,因为〜/ tmp存在并且权限设置为777.

我想,我错过了某处的服务器指令.

我已经检查过phpInfo,我已经(在本地和生产上):

safe_mode           Off         Off

safe_mode_exec_dir  no value    no value

safe_mode_gid           Off         Off

safe_mode_include_dir   no value    no value

open_basedir    no value    no value
Run Code Online (Sandbox Code Playgroud)

所以我认为我错过了什么,但是什么?

[编辑...]更多信息......

在我的本地运行以下

get_current_user()
Run Code Online (Sandbox Code Playgroud)

给我'用户名',这是我要验证的〜/ tmp目录的正确用户,但是

shell_exec('whoami')
Run Code Online (Sandbox Code Playgroud)

给了我'守护进程'.所以我想我知道我的问题来自哪里.现在我只需要弄清楚是否/如何更改在本地运行Web服务器的用户.

php apache zend-server-ce

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