小编Bos*_*osh的帖子

IE10中的跨源postMessage是否被破坏?

我正试图做一个简单的postMessage例子......

  • 在IE10中
  • 在窗口/标签之间(与iframe)
  • 跨越起源

删除这些条件中的任何一个,并且工作正常:-)

但据我所知,postMessage当两个窗口共享一个原点时,窗口之间似乎只能在IE10中工作.(嗯,事实上 - 奇怪的是 - 行为稍微宽容一点:共享主机的两个不同的起源似乎也有效).

这是一个有记录的错误吗?有任何变通方法或其他建议吗?

(注意:这个问题触及了问题,但它的答案是关于IE8和IE9 - 而不是10)


更多细节+例子......

启动页面演示

<!DOCTYPE html>
<html>
  <script>
    window.addEventListener("message", function(e){
      console.log("Received message: ", e);
    }, false);
  </script>
  <button onclick="window.open('http://jsbin.com/ameguj/1');">
    Open new window
  </button>
</html>
Run Code Online (Sandbox Code Playgroud)

推出了网页演示

<!DOCTYPE html>
<html>
  <script>
    window.opener.postMessage("Ahoy!", "*");
  </script>
</html>
Run Code Online (Sandbox Code Playgroud)

这适用于:http://jsbin.com/ahuzir/1 - 因为两个页面都托管在同一个源(jsbin.com).但是将第二页移到其他地方,它在IE10中失败了.

html5 compatibility postmessage cross-browser internet-explorer-10

90
推荐指数
3
解决办法
6万
查看次数

使用docker-compose删除命名卷?

如果我有一个docker-compose文件,例如:

version: "3"
services:
  postgres:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/db
volumes:
  db-data:
Run Code Online (Sandbox Code Playgroud)

...然后docker-compose up创建一个命名的卷db-data.有没有办法通过docker-compose?删除此卷?如果它是一个匿名卷,那么docker-compose rm -v postgres就可以了.但就目前而言,我不知道如何在db-data不恢复docker命令的情况下移除卷.感觉这应该可以在docker-composeCLI中实现.我错过了什么吗?

volumes docker docker-compose

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

使用特征初始化匿名类

有人可以帮我理解以下行为吗?

简单地说:以下两种情况之间有什么区别...

我定义了一个简单的类c+特征t

scala> class c {val x=true; val y=this.x} 
defined class c

scala> trait t {}
defined trait t
Run Code Online (Sandbox Code Playgroud)

我可以实例化一个新的"c with t"

scala> new c with t
res32: c with t = $anon$1@604f1a67
Run Code Online (Sandbox Code Playgroud)

但我无法用t实例化一个新的"[与c一样的匿名类]"

scala> new {val x=true; val y=this.x} with t
<console>:9: error: type mismatch;
 found   : type
 required: ?{def x: ?}
<console>:9: error: value x is not a member of object $iw
              new {val x=true; val y=this.x} with t
Run Code Online (Sandbox Code Playgroud)

这两种情况有什么区别?

谢谢!

inheritance scala initialization class traits

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

下划线问题:Jekyll + redcarpet == Github风味降价?

我正在使用github页面构建一个站点,并且希望在单词中使用下划线来斜体化这些单词的部分内容.例如, function_name_here不应使用name斜体显示.我理解github风味降价应该像这样聪明; 但我仍然在我的渲染页面中看到斜体.

我已经入手了 _config.yml

markdown: redcarpet
Run Code Online (Sandbox Code Playgroud)

...我需要做的其他事情才能获得Github风味的降价行为?

markdown github jekyll redcarpet github-pages

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

为什么需要为访问令牌交换授权的OAuth 1.0请求令牌?

我想知道OAuth 1.0需要往返数据提供程序来交换访问令牌的授权请求令牌的原因是什么.

我对OAuth 1.0工作流程的理解是:

  1. 请求站点(消费者)从数据提供者站点(服务提供者)获取请求令牌.

  2. 请求站点要求数据提供者站点对用户进行身份验证,并传入回调.

  3. 一旦用户被认证并授权请求站点,则通过所提供的回调将用户引导回请求站点(消费者),该回调传递现在授权的请求令牌和验证码.

  4. 请求站点交换访问令牌的请求令牌.

  5. 请求站点使用访问令牌从数据提供者站点获取数据.

假设我做对了,为什么回调只是在步骤3中直接向请求站点提供访问令牌,从而消除了第4步?为什么需要交换访问令牌的请求令牌?它是否仅存在于需要用户手动输入验证码的消费者,并认为它比访问令牌本身更短更简单?

oauth

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

基于Web的REST API浏览器(资源管理器,导航器,漫游器)?

我正在讲授有关API的讲座,并希望找到一个漂亮的,免费的,基于Web的工具,以通用的方式"浏览"开放的REST API,将XML和/或JSON有效负载呈现到屏幕上并推测性地转换任何看起来像超链接到超链接.所以,例如,我可以指出:

http://services.healthindicators.gov/v4/REST.svc/IndicatorDescription/3/IndicatorDescriptionDataCategories/1

并通过可点击的链接查看数据的精美呈现版本.

有人知道有用的资源吗?

browser api rest

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

可以在MongoDB查询中使用严格的JSON $日期吗?

我正在尝试使用MongoDB 严格的BSON JSON表示编写日期比较查询.

我希望它能在MongoDB shell中工作(v2.4.3)

这是我试过的......

设置:创建一个at日期为2020年1月1日的新文档

> db.myTimes.insert({"at": new Date("2020-01-01")})
Run Code Online (Sandbox Code Playgroud)

对date> 2010使用非严格查询,没问题:

> db.myTimes.find({"at": {"$gt": new Date("2010-01-01")}})
{ "_id" : ObjectId([snipped]), "at" : ISODate("2020-01-01T00:00:00Z") }
Run Code Online (Sandbox Code Playgroud)

但是,使用严格的JSON查询... 没有骰子

> db.myTimes.find({"at": {"$gt": {"$date":"2010-01-01T00:00:00Z"}}})
> db.myTimes.find({"at": {"$gt": {"$date":"2010-01-01"}}})
> db.myTimes.find({"at": {"$gt": {"$date": 1262304000000}}})
> db.myTimes.find({"at": {"$lte": {"$date": 1262304000000}}})
Run Code Online (Sandbox Code Playgroud)

(正如你所看到的,我试过了ISO8601日期,大纪元时报,也改变了我$gt$lte的理论,这些将是互斥的,因此他们中的一个应该返回的东西:-)

感谢您的任何指示!

-B

date iso8601 epoch mongodb bson

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

Tomcat:限制/只有一个/ webapp访问localhost

我正在运行Tomcat 6来提供多个Web应用程序,其中大部分是面向公众的.但是我想限制只访问一个 webapp,只允许来自localhost的连接.

我可以使用context.xml中的valve 来限制对所有 webapps的访问,如下所述:

但我无法弄清楚如何限制每个应用程序的访问.有没有办法用我的应用程序的web.xml执行此操作?或者通过向context.xml添加其他规则?

谢谢,

-B


重新封装解决方案:

$ cp /var/lib/tomcat6/conf/context.xml \ 
   /var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml

$ cat /var/lib/tomcat6/conf/Catalina/localhost/my-app-name.xml

<Context>
    <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="localhost"/>
... {as previously} ...
</Context>
Run Code Online (Sandbox Code Playgroud)

security webserver tomcat tomcat6

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

根据值从HashMap中删除条目

我编写了以下代码(+ demo)来删除HashMap基于值的条目.它有效,但我觉得我正在努力反对借用检查器使用:

  • clone() 避免两次引用同一组键
  • 额外的let tmp =绑定,以增加我的临时值的生命周期

use std::collections::HashMap;

fn strip_empties(x: &mut HashMap<String, i8>) {
    let tmp = x.clone();
    let empties = tmp
         .iter()
         .filter(|&(_, &v)| v == 0)
         .map(|(k, _)| k);

    for k in empties { x.remove(k); }
}

fn main() {
    let mut x: HashMap<String, i8> = HashMap::new();
    x.insert("a".to_string(), 1);
    x.insert("b".to_string(), 0);
    strip_empties(&mut x);

    println!("Now down to {:?}" , x);
}
Run Code Online (Sandbox Code Playgroud)

有没有更清洁,更惯用的方法来实现这一目标?

rust borrow-checker

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

Docker的`docker0`设备反复死亡(`inet addr`消失)

Docker version 1.4.1, build 5bc2ff8在Ubuntu 14.04上运行.当我docker run任何容器,几分钟后我的docker0桥"死",容器停止能够到达网络.在连接终止之前,运行ifconfig报告docker0具有inet addr类似的设备:

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          [... etc.]
Run Code Online (Sandbox Code Playgroud)

但是在连接死后,ifconfig显示ipv4地址已经消失:

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99 
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8116 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2444859 (2.4 MB)  TX bytes:17440729 (17.4 …
Run Code Online (Sandbox Code Playgroud)

networking containers connectivity docker

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