在过去的几个月里,我发现有几个网站使用某种"小部件".
如果我用我的iPhone打开一个有这个小部件的网站,它将显示一个指向(网站相关的)iPhone应用程序的链接.它看起来像一个包含appname,rating和link的简单div.小部件甚至"知道"我是否已经安装了应用程序.
这个东西总是显示在页面的顶部,看起来总是一样的.Apple是否提供某种小部件/ API,或者是这些链接的创建者?我在网上还没有发现任何关于它的内容......
谢谢你的帮助!
我在 Internet Explorer 中遇到了一个奇怪的问题,我希望有人能够在这里向我解释这个问题。
在我的 Angular 2 应用程序中,我有一个带有选择框的表单。用户可以在不同的模板(名称)之间进行选择。该templates属性是一个数组,在 TypeScript 组件文件中定义,并填充可能的模板名称。
html 模板如下所示:
<select required [(ngModel)]="template">
<option *ngFor="let t of templates" [ngValue]="t">{{ t }}</option>
</select>
<button type="button" [disabled]="!form1.valid" (click)="nextForm()">Next</button>
Run Code Online (Sandbox Code Playgroud)
整个事情按预期工作(Chrome、Firefox),除非我使用 Internet Explorer 11(可能更早)。由于某种奇怪的原因,如果只有一个可用选项,我无法选择该选项。如果有两个选项,它就会按预期工作。
在 Internet Explorer 中会发生以下情况:
templates只是定义为空数组templatestemplate我可以通过检查绑定模型值(保持为空)来证明该选项未正确选择,并且还form1.valid显示false(form1是整个表单的名称,请注意,选择标签是必需的)。
到目前为止我发现的 IE 的唯一解决方法就是定义
if (this.templates.length > 0) this.template = this.templates[0]
Run Code Online (Sandbox Code Playgroud)
在我成功创建模板数组之后。但如果你问我,这应该是没有必要的。
为什么 IE 会这样,有没有更好的方法来解决这个问题?
编辑:它不必对动态选项或 *ngFor 执行任何操作。我尝试了一个只有一个选项的静态示例,但无法在 IE 11 …
internet-explorer html-select typescript internet-explorer-11 angular
在我的Angular2/4 应用程序中,我使用ng-bootstrap及其组件NgbTooltip。
假设以下HTML代码片段
<div class="col-sm-8 text-ellipsis"
ngbTooltip="'A very long text that does not fit'"
placement="top"
container="body">
A very long text that does not fit
</div>
Run Code Online (Sandbox Code Playgroud)
与给定的习惯CSS
.text-ellipsis {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
我对我的实现还不满意,也许有人可以帮助我找到一个优雅的解决方案来解决我的问题:
假设文本不适合div,那么它将被截断并按预期附加“...”,并且工具提示显示在 的中心顶部div。这对于这种情况很好,但是当内容很短时,它看起来很难看:
<div class="col-sm-8 text-ellipsis"
ngbTooltip="'1.jpg'"
placement="top"
container="body">
1.jpg
</div>
Run Code Online (Sandbox Code Playgroud)
现在工具提示仍然显示在 div 的顶部中心,但位于文本的右侧(因为它很短但div仍然是全宽)。
我认为我可以通过使用一个span元素轻松解决这个问题,并在其上设置工具提示而不是div:
<div class="col-sm-8 text-ellipsis">
<span
ngbTooltip="'A very long text that does not …Run Code Online (Sandbox Code Playgroud) 好的,我的情况是:我有2台Macbook(我们称之为#1和#2),我在2010年开始研发#1.
2011年6月,我的发行证书已过期,我不得不续签.在我的#1 Macbook上,我能够将证书更新到钥匙串中,再次更新我的应用程序时一切正常.
现在,在2011年8月,我想更新我的#2上的证书,并认为我可以从dev.apple页面下载它并添加到钥匙串.但是当我这样做时,证书下面的私钥丢失了!这是为什么?2010年分发配置文件的私钥仍然在(过期)证书下方可见.
它让我如此疯狂,我回到Macbook#1并将其中的两个键输出到#2.这当然有效,但它不能成为未来的解决方案!如果Macbook崩溃并且我想通过新的Macbook做一切怎么办?让我们假设我无法从#1导出,如何在#2中获得低于证书的freakin私钥?
其次,我有点困惑:我需要备份哪些密钥?我认为这只是私钥,但是我无法在我的新Macbook#2上的"分发证书"下面得到它,这让我有点害怕.
顺便说一句:与苹果公司的证书大战是个大笑话,但这是另一个话题.
我有一个与iPhone和Android用户连接的网站.他们有时使用UTF8MB4字符(表情符号).在我的MySQL数据库(格式化的UTF8)中的字符串中插入这些字符时,数据在第一个表情符号处被裁剪.
不幸的是,我的主机运行MySQL 5.1.66并且还没有计划更新到更新的版本.那么在不切换编码的情况下临时使用的最佳解决方案是什么?
我目前正在开发一个 Angular 应用程序。在某些时候,我注意到每次应用程序刷新(使用应用更改时ng serve)需要越来越长的时间。目前,我最多可能需要 10 秒才能看到浏览器中的更改(Chrome、也测试了 Firefox 和 Safari)。
首先我忽略了它,因为我认为这是我的浏览器。但当我后来检查时,我发现开发大小main.js高达27 MB。我做过其他更大的项目,但从未遇到过这样的问题。我也不明白这是怎么发生的。即使ng build --prod输出仍然超过 8 MB,这在我看来太大了。
当然我可以开始使用 git 回滚,但我希望可能有更好的方法来确定文件大小爆炸的原因?我希望有人能给我一些提示,从哪里开始。
这是ng version输出:
Angular CLI: 7.0.6
Node: 8.11.2
OS: darwin x64
Angular: 7.1.0
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.10.6
@angular-devkit/build-angular 0.10.6
@angular-devkit/build-ng-packagr 0.10.6
@angular-devkit/build-optimizer 0.10.6
@angular-devkit/build-webpack 0.10.6
@angular-devkit/core 7.0.6
@angular-devkit/schematics 7.0.6
@angular/cli 7.0.6
@ngtools/json-schema 1.1.0
@ngtools/webpack 7.0.6
@schematics/angular 7.0.6
@schematics/update 0.10.6
ng-packagr …Run Code Online (Sandbox Code Playgroud) 我目前正在阅读有关ng-bootstrap组件国际化的信息。他们的文档对日期选择器说:
从 2.0.0 版本开始,日期选择器将使用应用程序区域设置(如果存在)来获取工作日和月份名称的翻译。进行翻译的内部服务称为 NgbDatepickerI18n,如有必要,您可以提供自己的实现。
查看 Angular i18n 文档,它指出:
如果要导入其他语言的区域设置数据,可以手动执行:
src/app/app.module.ts
Run Code Online (Sandbox Code Playgroud)import { registerLocaleData } from '@angular/common'; import localeFr from '@angular/common/locales/fr'; // the second parameter 'fr' is optional registerLocaleData(localeFr, 'fr');
但为什么它对我不起作用?我是否仍然需要对 进行自定义实现NgbDatepickerI18n,或者我遗漏了什么?
这是一个示例游乐场:
https://stackblitz.com/edit/angular-mezpyn?file=app%2Fdatepicker-popup.module.ts
我的设置:
我的iPhone应用程序中有一个webview,访问www.mysite.com.
试用
如果我将"backgroundcolor uicolor clearcolor"设置为我的webview并在我的webview后面绘制一个uiimage,它将不会滚动我的webview!
我的问题:
我希望将图像与webview一起使用.此外,此图像应存储在iPhone应用程序中,而不是存储在网络服务器上(当然,如果我将图像放在网络服务器上,我可以简单地将其作为背景用CSS绘制).
通过html/javascript/Objective C访问此图像的最佳方式是什么,所以我可以看到这个本地图像作为我网站的背景?有办法吗?
我的应用程序中有以下场景:
首次启动时,用户可以注册一个帐户.然后,应用程序从我的网络服务器获取一对(int user_id,string session_id),并将该数据存储在应用程序中.
在我的应用程序中,我使用WebView,让用户查看我的网站的一些内容.使用user_id和session_id,他自动登录(之后,创建服务器端会话和cookie).
我不想使用像http://mobile.mysite.com/?user_id=int&session_id=string这样的网址方案,所以我决定使用http post发送user_id和session_id.
在iOS中它非常简单:
// Post the user data and load the website in the webview
NSString *startUrl = @"http://mobile.mysite.com/";
NSString *post = [NSString stringWithFormat:@"user_id=%@&session_id=%@, [user uid], [user sessionId]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:startUrl]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[post dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)
所以在这里,我在C#中的Windows 8商店应用程序中完成了相同的结构.不幸的是,WebView不允许我将用户信息发布到服务器.
你知道如何解决我的问题吗?
一个想法是创建一个http请求并与WebView共享cookie.但这对我来说并不是很优雅......
angular ×4
html ×3
ios ×2
ng-bootstrap ×2
typescript ×2
angular-cli ×1
angular-i18n ×1
angular4 ×1
banner ×1
c# ×1
certificate ×1
css ×1
emoji ×1
html-select ×1
iphone ×1
mobile ×1
mysql ×1
objective-c ×1
post ×1
private-key ×1
uiimage ×1
uiwebview ×1
utf-8 ×1
utf8mb4 ×1
web ×1
webview ×1