我发现有一些关于phonegap/cordova插件很混乱的东西.
例如,我可以运行
cordova plugin add cordova-plugin-whitelist
要么
phonegap plugin add cordova-plugin-whitelist
这样做不会修改config.xml文件
或者我可以添加到config.xml:
<plugin name="cordova-plugin-whitelist" spec="1.1.0" />
要么
<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />
所有这些不同的插件安装之间究竟有什么区别?我到底应该使用哪一个?
我想在所有其他开发人员计算机上使用相同的插件,在完全相同的版本中,以获得稳定且可重现的环境(并且CLI似乎没有指定版本......).我应该把我的/plugins文件夹的任何内容包含到Git中吗?
注意:如果重要的话,我不知道将来我将使用哪个cordova或phonegap CLI,因为我还不知道我是否会使用Phonegap Build.目前CLI(v5.1.1)似乎都运行良好.
我正在尝试构建一个类型安全的查询系统,它看起来有点像 MongoDB 查询。
我想保证一个对象具有联合类型的单个属性,但找不到解决方案。有人可以帮我编译下面的代码吗?
type Operator = 'AND' | 'OR';
type OperatorNode = { [O in Operator]: [] };
const shouldWork1: OperatorNode = {
AND: [],
};
const shouldWork2: OperatorNode = {
OR: [],
};
const shouldFail1: OperatorNode = {};
const shouldFail2: OperatorNode = {
AND: [],
OR: [],
};
Run Code Online (Sandbox Code Playgroud)
据我了解,由于结构类型的原因,这可能很难实现,但也许有技巧?
我想知道是否可以使用JavaMail连接到Hotmail?
我试过这个,但它不起作用,连接被拒绝了......
String host = "pop3.live.com";
String username = "laqetqetqet@hotmail.com";
String password = "rqetqetq";
Session session;
Store store;
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
pop3Props.setProperty("mail.pop3.port", "995");
pop3Props.setProperty("mail.pop3.socketFactory.port", "995");
URLName url = new URLName("pop3", host, 995, "", username, password);
session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
store.connect();
Run Code Online (Sandbox Code Playgroud)
有人已经成功做到了吗?
我只想问一下记录器名称......
它可以为记录器提供自定义名称,或使用类名.但是在哪种情况下使用什么?
- >为每个应用程序模块使用自定义名称:2个模块使用某些类 - >它应该属于哪个记录器名称?
- >使用classname:它似乎需要一个良好的包组织 - >已知的最佳日志记录实践?
我在使用nekohtml + dom4j解析html文档时遇到了一些问题.
我发现我的xpath表达式不再起作用了,因为最近在html源上添加了一个新的默认html xml命名空间.
规格说:
前缀xmlns仅用于声明名称空间绑定,并且根据定义绑定到名称空间名称 http://www.w3.org/2000/xmlns/.它不能被宣布.其他前缀不得绑定到此命名空间名称,并且不得将其声明为默认命名空间.元素名称不能有前缀xmlns.
但在我的html文档中,最近(我猜)在html标签中添加了:xmlns ="http://www.w3.org/1999/xhtml"
我找到了2个解决方案
1)删除命名空间:
DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/namespaces", false);
parser.parse(url);
Run Code Online (Sandbox Code Playgroud)
根据NekoHTML faq的说法.
2)为我的xpath添加一个前缀,绑定到默认的html命名空间.(似乎它不能将前缀"空字符串"绑定到我想要的命名空间)
Map<String,String> XPATH_NAMESPACES = new HashMap<String, String>();
XPATH_NAMESPACES.put("my_prefix", "http://www.w3.org/1999/xhtml");
XPath xpath = document.createXPath(xpathExpr);
xpath.setNamespaceURIs(XPATH_NAMESPACES);
Element element = (Element) xpath.selectSingleNode(document);
Run Code Online (Sandbox Code Playgroud)
然后,我使用// my_prefix:td而不是使用// td作为例子
我发布这些解决方案,因为有些人可能会发现这篇文章很有用.另见http://www.edankert.com/defaultnamespaces.html#Jaxen_and_Dom4J
但我真正想知道的是:
我想我的问题对你们中的一些人来说似乎很明显,但我并没有真正意识到它带来了什么.我已经读过html和xhtml之间的区别.我想使用xhtml dtd的人宁愿使用这个命名空间,但除了它给爬虫或其他类似的东西带来一些额外的痛苦之外,还有什么真正的兴趣?
PS:我已经看到从html传递到xhtml你必须添加xmlns和xml:lang,例如:所以它可能不是我解析的网站的目的,因为没有添加xml:lang ...
谢谢
我想知道在使用Guava方法时是否可以丢弃一些值.
public static Function<Locale, String> GET_LANGUAGE = new Function<Locale, String>() {
@Override
public String apply(Locale input) {
return StringUtils.isBlank(input.getLanguage()) ? "NO_LANGUAGE" : input.getLanguage();
}
};
Maps.uniqueIndex(availableLocales, GET_LANGUAGE);
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用多图,因为许多语言环境可以使用相同的语言,但它实际上符合我的需要.
例如,我希望没有任何语言的语言环境不在输出映射中.由于我无法返回null或类似的东西,我将使用不相关语言的语言环境重定向到键"NO_LANGUAGE".问题是仍然可以检索该值.
是否有某种"/ dev/null"映射键,或者我是否总是需要在使用谓词之前/之后进行一些过滤?
只是想知道为什么在后端应用程序上我们使用DAO模式,而在具有Backbone等框架的单页应用程序上,我们在主干模型/集合上使用save/fetch函数.
我已经看过这个用于服务器端开发的框架,如Play(Java/Scala),我认为Rails做同样的事情(?).在我看来,这对于小型项目来说是一个很酷的功能,但并不适合大型应用程序.
我只是想知道为什么当搜索"backbone + dao"时,我发现的唯一用例是浏览器localStorage而不是访问远程数据.我是唯一一个认为复杂骨干应用程序应该使用DAO模式来访问远程数据的人吗?
假设我的模型是:
用户:
我有一个集合 /users/
我想要检索用户,/users/{id}而不是/users/${nickname},因为在一些更复杂的情况下,可能没有"逻辑唯一约束".
所以我可以使用的基本JSON有效负载例如:
{
id: 123,
nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)
没什么好看的.
POST/users /
据我所知,用户作为标识符.它是资源表示的一部分,因此它应该在有效负载(?)中.
如果我想在后端自己生成ID,请使用DB序列作为示例?
然后我的负载变为:
{
nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)
这个合适吗?
什么应该是这个POST的输出?没有?只是一个引用资源位置的标题,包括ID?
获取/ users/id
当我们获取资源时,我们将其内容加载为JSON:
{
id: 123,
nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)
PUT on/users/id
据我所知,此方法使用的有效负载应该"覆盖"资源内容.如果我们想要部分更新,我们会使用PATCH.
但是,如果我这样做:
PUT /users/123
{
id: 456,
nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着我们想要更新资源的ID?
在URI和有效负载中使用id不是多余的吗?
其实我真的不知道如何处理id.
我不知道我是否应该在所有POST/PUT/DELETE操作中使用相同的资源表示.
我不知道id是否应该是唯一(?)资源表示的一部分.但是如果id不是表示的一部分,那么当我列出用户时,使用GET /users/,如果没有返回id,那么我不知道客户端如何获取用户ID ...
有人能帮我吗?:)
据我所知,iOS的默认行为device-width可能是尝试使用980px的视口宽度渲染网站,并且设置width=device-width可能很有用(特别是如果您正在开发Cordova/mobileApp/SPA).
但是我不确定我们应该什么时候设置height=device-height.添加此行有效吗?使用设备高度作为视口高度不是默认行为吗?
我有一个移动应用程序,可用作移动网站和cordova原生应用程序.有2个单独的index.html页面具有不同的设置(旧版):
//移动网站有:
// Cordova有:
我想知道在两种情况下使用相同内容值时遇到的风险(看起来它主要是arround device-height)
我没有发现在线文档对该主题非常有帮助.任何的想法?
在滚动型文档提到:
请记住,滚动视图必须具有一定的高度才能正常工作,因为它们将高度不受限制的子级包含在一个有限的容器中(通过滚动交互)。为了限制ScrollView的高度,请直接设置视图的高度(不建议使用),或者确保所有父视图的高度都已限制。忘记在视图堆栈中向下传递{flex:1}可能会导致错误,元素检查器使调试变得容易。
是否可以将ScrollView与maxHeight绑定?这样ScrollView才会展开,并且仅在子级高于maxHeight时才开始滚动?
我正在尝试创建一个具有动态宽度/高度的居中模态组件,并允许在需要时滚动。我已将高度限制为95%。似乎scrollview总是占据屏幕的95%。如果我删除滚动视图,它将按预期工作。
在屏幕截图上,我希望红色框居中,而白色框不应出现。如果您想尝试解决我的问题,这里是一个世博小吃。
有人可以找到解决方案吗?还是可以确认这是不可能的,为什么?谢谢
java ×3
cordova ×2
html ×2
java-ee ×2
api ×1
backbone.js ×1
email ×1
expo ×1
guava ×1
hotmail ×1
http ×1
ios ×1
jakarta-mail ×1
javascript ×1
log4j ×1
logging ×1
mobile ×1
namespaces ×1
react-native ×1
responsive ×1
rest ×1
typescript ×1
xml ×1