小编Szi*_*rdD的帖子

使用-webkit-overflow-scrolling在iOS 5中滚动的问题

我有一个带有固定高度div的HTML页面,它应该是可滚动的(只能垂直).在iOS 5中,这可以通过以下方式实现:

overflow-y: auto;
-webkit-overflow-scrolling: touch;
Run Code Online (Sandbox Code Playgroud)

DIV包含约10个项目的无序列表.

滚动有效,但有时它只有在我对角线或甚至水平滑动手指而不是垂直滑动时才会滚动.

我想知道是否有人遇到过这个问题.我不想认为它是iOS5中的一个错误,但我无法弄清楚我做错了什么,因为大多数时候它工作正常.

mobile scroll overflow ios5

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

刷新页面时HTML 5 Web SQL数据库事务提交或回滚

至于写在Safari浏览器客户端存储和离线应用程序编程指南,回滚HTML 5的Web SQL数据库事务通过返回的错误回调提供的回调函数做真实交易executeSql方法:

每个查询错误处理回调非常简单.如果回调返回true,则回滚整个事务.如果回调返回false,则事务继续,就好像什么都没有出错一样.因此,如果您正在执行可选的查询 - 如果该特定查询的失败不应导致事务失败 - 您应该传入一个返回false的回调.如果查询失败导致整个事务失败,则应传入一个返回true的回调.

例如,如果我有以下事务(假设'users'表在'username'字段上有一个UNIQUE约束,并且用户'test'已经存在 - 我试图再次插入,这会导致约束错误) :

database.transaction(function(transaction) {
    transaction.executeSql(
        "INSERT INTO users (username) VALUES('test')",
        null,
        dataCallback,
        errorCallback
     );
});

function errorCallback() {
    return true; //this causes the rollback
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

  1. 如果我必须在事务中包含许多操作(例如,我必须使用ajax将一些数据发送到服务器并等待响应等),并且用户在响应到达之前重新加载页面(这意味着errorCallback将不会被调用),交易会被提交还是会失败?

  2. 有谁知道如何手动回滚Web SQL事务?例如,如果我想根据ajax调用的结果回滚事务,怎么办呢?我应该运行包含错误的查询以确保调用错误回调吗?

谢谢.

javascript database html5 transactions web-sql

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

捕获错误时JavaScript源映射是否有效?

我使用了实现客户端异常日志记录window.onerror,在那里我检索当前错误和堆栈跟踪并使用AJAX将其发送到服务器

    window.onerror = function(message, url, line) {

      var stackTrace = printStackTrace(); //get stack trace

      //send message, url, line and stackTrace to the server using an ajax call
    }
Run Code Online (Sandbox Code Playgroud)

printStackTrace这个库提供的功能在哪里:http://stacktracejs.com/

问题是在生产中所有JavaScript文件都缩小了,因此堆栈跟踪和行号并不真正有用,因为所有错误都在文件的第1行报告,这是正常的,因为缩小版本包含一行代码.例如:

Message: Object doesn't support property or method 'indexOf' 
URL: http://[server]/[site]/content/combined/combined.635EE367354E6DF721593CAC56FECF95.min.js
Line: 1
Run Code Online (Sandbox Code Playgroud)

这可以使用源映射进行改进,还是仅在Developer Tools处于活动状态时才有效?

我想要的是,当没有启用开发人员工具激活/源映射的用户发生错误时,使用源映射(或至少是实际行号)获取完整堆栈跟踪.这有可能吗?

javascript source-maps

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

使用Angular CLI在运行时Angular 5加载区域设置

Angular 5提供了一种使用registerLocaleData在运行时加载i18n语言环境的方法

https://angular.io/guide/i18n#i18n-pipes

我想根据设置动态地加载语言环境(例如存储在localStorage中)。我的第一个测试是加载单个语言环境(fr):

import(`@angular/common/locales/fr`).then(locale => {
    registerLocaleData(locale.default);
});
Run Code Online (Sandbox Code Playgroud)

这很好。

根据存储在localStorage中的值进行加载时,如下所示:

const localeName = localStorage.getItem('locale') || 'en';

import(`@angular/common/locales/${localeName}`).then(locale => {
    registerLocaleData(locale.default);
});
Run Code Online (Sandbox Code Playgroud)

它也有效,并且语言环境已成功加载。当使用Angular CLI建立项目时,由于在构建时它不知道要捆绑哪个语言环境,因此将它们全部捆绑在一起,这很好。唯一的问题是,构建过程会针对它加载的每个语言环境发出警告:

模块构建失败:错误:node_modules \ @angular \ common \ locales \ af-NA.d.ts不属于编译输出的一部分。请检查其他错误消息以获取详细信息。

./node_modules/@angular/common/locales/af-NA.js.map中的警告模块解析失败:意外的令牌(1:10)您可能需要适当的加载程序来处理此文件类型。

我已经尝试过包括语言环境* .ts文件,并排除* .map文件,但是似乎没有选择它们。

这是我的tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "esnext",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts",
    "../node_modules/@angular/common/locales/**/*.map"
  ],
  "include": [
    "**/*",
    "../node_modules/@angular/common/locales/**/*.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

TypeScript需要使用esnext作为模块才能进行动态导入。使用es2015不能正常工作

localization typescript angular-cli angular angular5

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

如何从JavaScript压缩WebSQL数据库

我使用HTML5 + WebSQL开发了一个应用程序,它将数据从本地数据库同步到服务器.

删除数据时,sqlite数据库文件的大小保持不变.我知道这包含空的空间,并且在插入新数据时它将被填充但我希望由于限制而保持尽可能小的尺寸.

我知道sqlite中的VACUUM命令可以压缩数据库并删除未使用的空间,但是当我尝试从JavaScript在WebSQL数据库上运行它时它失败并显示错误"逻辑错误或缺少数据库".从浏览器外部运行命令工作正常.

我的问题是:

  1. 可以通过JavaScript以某种方式执行VACUUM命令吗?

  2. 浏览器是否自动实现并最终调用?(找不到任何关于此的文档)

谢谢你的帮助.

sqlite html5 web-sql

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

在ASP.NET WebAPI中检索承载令牌

我有一个启用了身份验证的Web API(承载令牌).这是由客户端应用程序调用的,我想保护它免受匿名使用,因此我想创建一个单独的用户并为其创建一个承载令牌.

我可以通过调用寄存器令牌方法来创建令牌,但我想从代码中执行此操作.

  1. 据我所知,承载令牌不存储在数据库中.可以使用ASP.NET Identity API以某种方式检索它吗?

  2. 我还想从代码创建此用户并保存令牌,因为我需要将数据库部署到多个服务器.

c# asp.net-web-api bearer-token

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

无法在 Azure 门户中创建 WebJob

我正在努力在 Azure 门户中创建 WebJob,我得到的只是“无法添加 Web 作业”错误,没有其他详细信息。

我之前已经创建了一个没有问题的网络作业,但无法在同一个应用服务或不同的应用服务中创建第二个。尝试过不同的名字,但没有运气。我正在使用基本应用服务计划,据我所知,对单个 Web 作业没有限制。

有没有人有这个问题?

azure azure-webjobs azureportal

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

Visual Studio Code - TypeScript 类型检查 - 识别 JavaScript 项目中的外部对象

已使用全局设置在 VS Code 中的纯 JavaScript 项目中启用 TypeScript 检查

“javascript.implicitProjectConfig.checkJs”:true

类型检查有效,但对于每个外部/全局变量,它显示“找不到名称”错误:

$('body').addClass('某事'); // 找不到名称 '$'

MyCustomObject.doSomething(); // 找不到名称“MyCustomObject”

如何让 VS Code 识别这些全局变量?我认为这需要使用 jsconfig.json 中指定的自定义定义文件来完成,但无法使其工作。

更新:

与在 VS Code 中启用 JavaScript 的隐式类型检查不重复会导致“找不到名称‘require’”错误

已经看到该票证,它仅与 Node.js 项目相关,并且接受的答案与安装 NodeJS 的类型定义 npm 包有关。这里的情况并非如此。我需要设置一个自定义定义文件

javascript typescript visual-studio-code

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