小编ker*_*ene的帖子

Sencha Touch:DataView上的组件,看起来像列表组标题

我正在使用Ext.dataview.DataView视图.我想在此数据视图中添加一个组件,它看起来像Ext.dataview.List中的grouper标头,以保持设计的一致性.我只想在头上应用一次这个组件(所以基本上只有一组).将视图更改为列表不是一种选择,因为它的复杂性会带来更多新问题.

我已经尝试过添加一个面板并应用x-list-header类,但这没有用.使组件看起来像列表的组头的最简单方法是什么?

Ext.define( 'app.view.myDataView', {
    extend: 'Ext.dataview.DataView',

    xtype: 'mydataview',

    requires: [
        'app.view.myItem',
        'Ext.dataview.List'
    ],

    config: {
        title: "myDataView",
        cls: 'myDataView',
        defaultType: 'myitem',
        grouped: true,
        store: 'myStore',
        useComponents: true,
        disableSelection: true,
        deferEmptyText: false,
        itemCls: 'myItem',

        items: [
            {
                xtype: 'toolbar',
                layout: 'vbox',
                docked: 'top',
                cls: 'myToolbar',
                items: [
                    {
                        // some toolbar items
                    }
                ]
            },

            {
                xtype: 'component',
                cls: 'x-list-header',
                html: 'this is a test'
            }
            /*{
                xtype:'panel',
                scrollDock:'top',
                docked:'top',
                tpl:  new Ext.XTemplate ('<div class="x-list-header-wrap x-list-header">this …
Run Code Online (Sandbox Code Playgroud)

javascript sencha-touch-2

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

Sencha Touch 2:IE上的itemtap不是以div为目标

我正在开发一个Cordova混合应用程序,目前正在使用Sencha Touch 2在Windows 8.1上遇到问题.我在listitem上有一些带有一些子元素的div.我定义了一个点击监听器.这适用于Android和IOS,但这在使用Internet Explorer的Win8.1上不起作用.我总是得到上面列出的listitem-element而不是点击的div-container.

这是简化的例子:

视图:

Ext.define( 'App.view.MyDataView', {

xtype: 'mydataview',
extend:  Ext.dataview.List ,

config: {

    inline: false,
    title: "myTitle",

    scrollToTopOnRefresh: false,

    cls: 'MyDataView',
    itemCls: 'MyDataViewItem',
    pressedCls: 'MyDataViewItemPressed',
    grouped: true,

    listeners: {
        tap: {
            element: 'element',
            //delegate: '.something',

            fn: function (e)
            {
                console.log(e.target.className)
            }
        }
    },
    deferEmptyText: false,
    infinite: true,

    variableHeights: true,
    itemTpl: new Ext.XTemplate(
        [

                            '<div class="red" style="background-color:red;width:50%">',
                'red',
                '<div class="black" style="background-color:black;width:80%">',
                    '<div class="blue" style="background-color:blue;width:30%">blue</div>',
                'black</div>',
            '</div>'
        ].join( '' ),
        {
            compiled: true,
            getInteractable: function() {},
            //some member …
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer sencha-touch cordova windows-8.1

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

请求自动或用户选择适当的客户端证书

我正在开发一个可能连接到不同服务器的混合cordova应用程序.其中一些确实需要客户证书.

在Android手机上安装相应的根证书+客户端证书.

在Chrome浏览器上,我得到以下对话框,为Web连接选择相应的客户端证书.

在Chrome上选择证书

使用cordova插件cordova-client-cert-authentication,在WebView中弹出相同的Http(s)请求对话框.

我的问题是如何在原生Android平台上实现Http(s)请求的自动证书选择,而无需明确声明相应的客户端证书.或者有类似用户选择的证书,如Chrome上实现的?

这是当前实现,它会抛出握手异常:

try {
    URL url = new URL( versionUrl );
    HttpsURLConnection urlConnection = ( HttpsURLConnection ) url.openConnection();

    urlConnection.setConnectTimeout( 10000 );

    InputStream in = urlConnection.getInputStream();
}
catch(Exception e)
{
    //javax.net.ssl.SSLHandshakeException: Handshake failed
}
Run Code Online (Sandbox Code Playgroud)

java ssl android client-certificates ssl-certificate

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

ListItem的items属性的XTemplate定义

我正在使用Sencha 2.3.0,我希望将一个XTemplate与ListItem上的组件(文本字段)并排放置.上面的代码适用于DataView/DataItem,但我想使用仅在List/ListItem上可用的分组属性.

嵌套的Xtemplate被渲染为DataItem.如何让它适用于ListItem?我也接受放弃这个嵌套结构的解决方案,并直接在ListItem上使用xtemplate作为tpl属性(当然也必须实现带有监听器的文本字段).

名单

Ext.define( 'app.view.myList', {
    //extend: 'Ext.dataview.DataView',
    extend: 'Ext.dataview.List',

    xtype: 'mylist',

    requires: [
        'app.view.MyItem'
    ],

    config: {
        title: "myTitle",
        cls: 'mylist',
        defaultType: 'myitem',
        grouped: true,
        store: 'myStore',
        useComponents: true,
        itemCls: 'myitem',

        items: [
            {
                // some components
            }
        ]
    }
});
Run Code Online (Sandbox Code Playgroud)

项目清单

Ext.define( 'app.view.myItem', {

    //extend: 'Ext.dataview.component.DataItem',
    extend: 'Ext.dataview.component.ListItem',
    xtype: 'myitem',

    config: {
        cls: 'myitem',

        items: [
            {
                xtype: 'component',
                tpl: new Ext.XTemplate([
                        '<table cellpadding="0" cellspacing="0" class="myitemXTemplate">',
                            //some xtemplate content
                        '</table>'
                    ].join( "" ),
                    {
                        compiled: true
                    }) …
Run Code Online (Sandbox Code Playgroud)

javascript sencha-touch-2

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

Angular: &lt;link rel="preload"&gt; in index.html 用于生成的 web worker

我有一个包含Web Worker实现(通过 生成ng generate webWorker)的 Angular 应用程序。

我想将给定的网络工作者标记为 preloading,如下所示:

索引.html

<!DOCTYPE html>
<html lang="en">
  <head>
   ...
    <link rel="prefetch" href="worker.js" />
   ...
  </head>
 ....
</html>
Run Code Online (Sandbox Code Playgroud)

问题是worker.js文件的名称是通过 Angular CLI 生成的,例如0.7841408a8c7c04e45900.worker.js(捆绑自worker.ts

有没有办法将文件名的占位符放入 index.html,在构建时由实际文件名替换?

preload angular

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

WinJS:在512MB WinPhone8.1 Emu上使用BackgroundUploader类后,Promise链有时会出现问题

我有一些奇怪的错误,有时会出现在我的Windows Phone 8.1 512MB RAM仿真器上的WinJS应用程序中.我无法在其他仿真器实例或设备上重现它.

执行通过promise链运行并完成以下return语句:

  return ( currentUpload = uploadOperation.startAsync() );
Run Code Online (Sandbox Code Playgroud)

之后没有任何反应.我在.then定义的所有三个函数(成功,失败,待定)中设置了断点.当发生这种奇怪的情况时,这三个功能代码都不会到达.

我还把这个return语句放在try catch块上,但是没有异常可以捕获.

代码的简短说明:

  • 创建后台上传器实例(自定义标头+ PUT方法)

  • StorageFile由URI打开

  • 后台上传器准备上传该文件(uploadOperation的定义)

  • uploadOperation将开始

看完整代码:

var currentUpload;  // global

 function uploadFile(localFullPath, headers, serverUrl)
 {
    var fileUri = new Windows.Foundation.Uri('ms-appdata:///local' + localFullPath),
        uploader = false;

        try
        {
            uploader = new Windows.Networking.BackgroundTransfer.BackgroundUploader();
            uploader.method = 'PUT';

            // set headers to uploader
            for (var key in headers)
            {
                if (headers.hasOwnProperty(key))
                    uploader.setRequestHeader(key, headers[key]);
            }
        }
        catch (e)
        {
            // error handling
            return false;
        }

        Windows.Storage.StorageFile.getFileFromApplicationUriAsync(fileUri)
        .then(function success(file)
        { …
Run Code Online (Sandbox Code Playgroud)

javascript promise winjs windows-phone-8.1

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

Android应用程序在Samsung Knox上切换个人和工作模式时崩溃

我的应用程序每次从Samsung Knox工作模式切换到私有模式时都会被杀死.

亚行日志:

04-25 16:25:41.868 2945-3700/? I/ActivityManager: Killing 24549:com.myapp.name/u100a171 (adj 10): cached #2
04-25 16:25:41.988 2945-3118/? W/InputDispatcher: channel '354a1caa com.myapp.name/com.myapp.name.app (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
04-25 16:25:41.988 2945-3118/? E/InputDispatcher: channel '354a1caa com.myapp.name/com.myapp.name.app (server)' ~ Channel is unrecoverably broken and will be disposed!
04-25 16:25:42.038 2945-3614/? W/InputDispatcher: Attempted to unregister already unregistered input channel '354a1caa com.myapp.name/com.myapp.name.app (server)'
04-25 16:25:42.038 2945-3614/? I/WindowState: WIN DEATH: Window{354a1caa u100 com.myapp.name/com.myapp.name.app}
Run Code Online (Sandbox Code Playgroud)

这种行为可能是什么原因?

这可能与AndroidManifest上的单个任务的定义有关,因为Knox试图在个人模式上重启?

<activity android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|uiMode" ...>
Run Code Online (Sandbox Code Playgroud)

由于安装/卸载区域,是否与存储问题有关?

使用Samsung Knox …

android samsung-knox

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

在Linux上为Android构建Ionic应用程序失败,退出代码为2:无法找到'ANDROID_HOME'

我正在尝试在Linux/Ubuntu 14.04 for Android上构建一个默认的示例应用程序.

我在做sudo ionic build android时收到标准错误信息:

无法找到'ANDROID_HOME'环境变量.尝试手动设置.

(见下面的完整记录)

但如果我这样做

echo $ ANDROID_HOME && echo $ JAVA_HOME && echo $ ANT_HOME

/家庭/ user3123726 /安卓/ SDK

/ usr/lib中/ JVM/JAVA -8-预言

在/ usr /斌/蚂蚁

并且命令android和cordova也可用.

  • 安装了Android SDK,其中包含当前可用的所有平台目标(以及Android SDK工具,平台工具和构建工具)
  • npm 3.3.9和节点4.2.2已安装
  • Cordova 5.3.3是通过npm安装的
  • 通过npm安装了Ionic 1.7.7
  • Apache Ant 1.9.3

ANDROID_HOME也在.bashrc上定义:

export ANDROID_HOME =/home/user3123726/Android/Sdk

export PATH = $ {PATH}:/ home/user3123726/Android/Sdk/platform-tools:/ home/user3123726/Android/Sdk/tools

我不知道构建过程失败的原因是什么.任何帮助表示赞赏 - 谢谢!

这里是离子项目创建的完整日志(基本上是创建,添加平台和构建):

离子启动myApp选项卡

下载:https://github.com/driftyco/ionic-app-base/archive/master.zip

[=============================] 100%0.0s

下载:https://github.com/driftyco/ionic-starter-tabs/archive/master.zip

[=============================] 100%0.0s

更新了hooks目录以具有执行权限更新Config.xml初始化cordova项目

您的离子项目已准备就绪!一些快速提示:[...缩短]

cd myApp …

ubuntu android build cordova ionic-framework

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

流星:订阅的集合不会自动更新(反应性)

我面临的问题是,向订阅的Collection添加数据不会自动刷新集合中显示的元素.如果我添加一个新元素,元素会显示一秒钟,然后消失!刷新浏览器(F5)并显示新元素.我将订阅放入Meteor.autorun,但事情保持不变.

lists.html(客户端):

    <<template name="lists">
  <div class="lists col-md-12" {{!style="border:1px red solid"}}>
        <!-- Checklist Adder -->
            <form id="list-add-form" class="form-inline" role="form" action="action">
              <div class="col-md-6">
                <input class="form-control" id="list-name" placeholder="Neue Liste" required="required"/>
              </div>
                 <button type="submit" class="btn btn-primary" id="submit-add">
                      <span class="glyphicon glyphicon-plus-sign"></span>
                      Neue Liste
                  </button>
            </form>
        <!-- Checklist Ausgabe -->
            <ul>
              <br/>
                {{#each lists}}
                    <li style="position: relative;"  id="{{this._id}}" data-id="{{_id}}" class="clickOnList">
                        <!--<input type="button" class="deleteLists" id="{{this._id}}" value="-" style="z-index: 999;"/> -->
                        <span  id="{{this._id}}" data-id="{{_id}}" style="padding-left: 10px; vertical-align:middle;">{{this.name}}</span>
                        <form id="changerForm_{{_id}}" class="changeList-name-form" data-id="{{_id}}" style="visibility: hidden; position: absolute; top:0;">
                            <input id="changerText_{{_id}}"  type="text" …
Run Code Online (Sandbox Code Playgroud)

templates mongodb meteor

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

Angular:将 TypeScript 用于 Service Worker (ServiceWorkerModule)

是否可以注册一个用 TypeScript 编写的 ServiceWorker @angular/service-worker

当前在app.module.ts 中注册 service worker 如下所示

ServiceWorkerModule.register('ngsw-worker.js', {
  enabled: environment.production
})
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式注册一个ngsw-worker.ts

至少这对于 Angular 中的网络工作者来说是可能的:

const worker = new Worker('../my-worker.worker', {
      type: 'module'
    });
Run Code Online (Sandbox Code Playgroud)

我的worker.worker.ts

/// <reference lib="webworker" />

import {someMethod} from './some-method';

addEventListener('message', ({ data }) => {
  const response = `worker response to ${data}`;
  postMessage(response);
  someMethod();
});
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏 - 谢谢

typescript service-worker angular angular-service-worker

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