小编Coo*_*Coo的帖子

卷曲返回"未知协议"

尽管Google上有很多结果,但似乎没有人给出答案.我有一个Debian框,我这样做:

# curl https://localhost/api/v1/status --verbose
* About to connect() to localhost port 443 (#0)
*   Trying ::1...
* connected
* Connected to localhost (::1) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
* Closing connection #0
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Run Code Online (Sandbox Code Playgroud)

我无法通过未知协议的事情.我试过-ssl -sslv3,但他们让我无处可去.实际上,-sslv3让我略有不同的结果:

s# curl https://localhost/api/v1/status --verbose -sslv3
* About to connect() to localhost port 443 (#0)
*   Trying ::1...
* connected
* …
Run Code Online (Sandbox Code Playgroud)

apache ssl curl

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

Android从匿名类中获取活动

我是Android开发和Java的新手.这是基本设置:我有一个启动画面,AsyncTask用于检查服务器可用性.在这个帖子之后,我在我的活动中做了一个回调.这比做工作更有意义,OnPostExecute()因为我想在不同的活动中重用这个任务.

但是,在我的回调中,我会检查状态是否正常.如果是,它应该启动下一个活动.但是从我的回调的上下文中,我不知道如何获得我的Activity引用,我需要它作为Intent的参数.

这是OnCreate下我的Activity中的代码:

    //Check server status
    CheckServiceTask t = new CheckServiceTask(new OnTaskCompleted<ShaggyServiceStatus>() {
        @Override
        public void onTaskCompleted(ShaggyServiceStatus result) {
            Log.i(TAG, "Callback. Result: " + result.getStatus());
            ProgressBar pb = (ProgressBar) findViewById(R.id.splash_progress);
            pb.setVisibility(View.INVISIBLE);

            if (result.getStatusCode() == 999){
                TextView t = (TextView) findViewById(R.id.splash_status_text);
                t.setText(result.getStatus());
                return;
            }

            Intent i = new Intent(getActivity(), LoginActivity.class);
            startActivity(i);
            finish();

        }
    });

    t.execute();
Run Code Online (Sandbox Code Playgroud)

失败的部分是getActivity().那个电话不可用.使用this抛出错误(我理解,因为我在上下文中OnTaskCompleted).

为了完整性,这是OnTaskCompleted的接口:

public interface OnTaskCompleted<T> {
    public void onTaskCompleted(T result);
}
Run Code Online (Sandbox Code Playgroud)

这是CheckServiceTask类: …

java android android-asynctask

10
推荐指数
2
解决办法
5713
查看次数

使用z-index堆叠,子元素位于父级兄弟之上

我遇到了这个挑战:小提琴.简短的故事是,我希望在z顺序的中间有绿色块,而不必更改HTML.底部为黄色,中间为绿色,顶部为红色.

代表元素的黄色,红色和绿色框

.parent {
  background-color: yellow;
  position: absolute;
  top: 0;
  left: 0;
  height: 200px;
  width: 200px;
  z-index: 1;
}

.child {
  background-color: red;
  position: relative;
  top: 10px;
  left: 20px;
  height: 50px;
  width: 150px;
  z-index: 100;
}

.other-guy {
  background-color: green;
  position: absolute;
  top: 40px;
  left: 100px;
  height: 200px;
  width: 200px;
  z-index: 50;
}
Run Code Online (Sandbox Code Playgroud)
<div class="parent">
  Chillin in the background
  <div class="child">
    I really want to be on top.
  </div>
</div>
<div class="other-guy"> I want to be in the middle! …
Run Code Online (Sandbox Code Playgroud)

html css z-index twitter-bootstrap

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

Jquery $(element).contents().first().text("new text")不起作用?

我在谷歌或这里找不到任何相关信息.

我有一个div,一些文本和一些HTML如下:

<div id="test-div">
    http://<strong>somewebsite.com</strong>/big/long/unfriendly/path/
</div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是<wbr>在每个斜线之后添加一个.(因为该值不会另外包裹并且弄乱了我的桌子).在$('#test-div').html()遗嘱上做一个简单的替换也会弄乱强标签,所以这不是一个选择.

我想$('#test-div').contents()用过滤掉文本部分(递归)会起作用.但是我似乎无法编辑返回的各个位.我希望这会改变http://部分:

$('#test-div').contents().first().text("something");
Run Code Online (Sandbox Code Playgroud)

但它什么都没做.我知道我的导航正确,因为这样的事情:

$('#test-div').contents().first().wrap( "<b></b>" );
Run Code Online (Sandbox Code Playgroud)

确实有效.

为什么我不能改变文本位?(对最初问题更优雅的解决方案也会很棒)

javascript jquery

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

将变量存储在$ rootScope的良好实践中?

更新2:我找到了解决方案

我已将设置文件更改为JS文件,添加var tempSettings =到文件的开头,并将其添加到index.html中.这样它就会加载初始HTML,确保它在app.run运行时就会存在.然后,设置服务获取此tempSettings变量并将其放入服务中.要清理,我删除tempSettings指针.

新设置文件被调用 settings.js

var tempSettings = {
  "environment": "development",
[...]
Run Code Online (Sandbox Code Playgroud)

添加到index.html:

<script src="settings.js"></script>
Run Code Online (Sandbox Code Playgroud)

服务:

myApp.service("settings", function(){
  var settings = null;

  this.initialize = function() {
    settings = tempSettings;
    tempSettings = undefined;
  };

  this.get = function() {
    return settings;
  }

});
Run Code Online (Sandbox Code Playgroud)

更新1:我发现了一个问题

由于设置文件是异步加载的,因此有时会发生模块在加载之前尝试使用这些设置.我会告诉你最新的解决方案.我已将设置移动到服务中,这肯定更好.

原始问题

当我谷歌如何在AngularJS应用程序中存储环境设置时,我遇到了使用Grunt或Gulp的选项(并且可能还有其他选项),但对我来说这个选项似乎更加明显.这意味着可能有充分的理由不使用它.这种存储设置的方式是个坏主意吗?

我在我的应用程序根目录中有一个名为settings.json的文件,它看起来像这样:

{
  "settingsFile": true,
  "environment": "development",
  "logLevel": "debug",
  "userApiBase": "http://localhost/covlelogin/web/api/",
  "oAuth": {
    "google":{
      "endpoint": "https://accounts.google.com/o/oauth2/auth",
      "clientId": "12345",
      "scope": "email profile",
      "state": "MyToken123",
      "redirectUri": "http://localhost/loginadmin/web/oAuthRedirect",
      "responseType": "code",
      "approvalPrompt": "force"
    }
  } …
Run Code Online (Sandbox Code Playgroud)

application-settings angularjs

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

从最近的列表中滑动应用程序时,未调用Android Firebase MyFirebaseMessagingService

编辑24/11/2016: 我刚从Firebase支持小组收到消息。他们认为这是华硕的问题。我使用的设备是Asus ZenFone 2 Laser。这是他们的回应:

这里的问题是Google无法控制制造商如何自定义其android版本。如果Asus遵循Android准则,则通知应该可以正常工作(就像在其他设备上一样)。

我们发现的一件事是,某些手机将应用置于强制停止状态,这阻止了应用接收通知。

从您的测试结果来看,情况似乎并非如此。但是,华硕还有许多其他方法可以阻止通知正常工作,但是很遗憾,我们无法检查所有通知。

最好联系华硕支持并让我们知道是否有任何新闻。

由于这对我的客户来说是一个低优先级的问题,因此我暂时不做进一步探讨。不幸的是,我没有时间在其他设备上测试相同的问题。如果将来这种情况有所改变,我将相应地更新此问题。到现在为止,我将认为这尚未解决。我想知道其他品牌的手机是否存在相同的问题。

对于华硕用户,有一件事情要考虑:有些省电设置会禁用通知功能。

编辑30/09/2016: 我已经联系Firebase支持有关此问题。他们似乎同意亚瑟·汤普森所说的话:

  • 停止的应用程序不应收到消息。
  • 从最近刷卡清单的应用程序应该不会停止的应用程序。

有趣的是,我的应用似乎并未停止。运行adb shell dumpsys package | grep stopped我的包时返回:

User 0:  installed=true hidden=false stopped=false notLaunched=false enabled=0
Run Code Online (Sandbox Code Playgroud)

这表明它尚未停止,仍然应该接收消息(根据非常有帮助的Firebase支持工程师的说法)。但是,该应用程序未收到消息。

编辑27/09/2016: 我已经notification在有效负载中省略了该data对象,而是将信息移到了该对象上。这不能解决问题。我想我对这个问题还不够清楚。问题是,当该应用程序被杀死(从最近退出)时,该服务将不再被调用或接收通知。

原始帖子

有类似的帖子在那里,但没有一个解决这个问题或提供解决方案。

我正在实施FCM以获取通知。(我是相当的FCM新)消息负载是两者的组合notificationdata。当应用程序在前台运行时,服务会触发onMessageReceived()。当应用程序在后台运行时(即,我按下主页按钮),onMessageReceived()不会触发(按预期),而只是显示一条通知。我仍然可以在MyFirebaseMessagingService.onCreate()和上看到日志语句onDestroy(),这很棒。

现在,当我按下“最近使用的应用程序”按钮并从列表中刷出该应用程序以将其关闭时,我不再收到任何通知。onCreate()并且onDestroy()不再被称为。没有通知出现。我也希望在这种情况下出现一条通知。

有效负载示例:

{
    "to":"token",
    "priority":"high",
    "notification": {
        "body":"hello",
        "title":"Message from Mom",
        "click_action":"ACTIVITY_MAIN"
    },
    "data":{
        "open":"chat"
    }
}
Run Code Online (Sandbox Code Playgroud)

FCM服务:

public …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-cloud-messaging

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