小编eb1*_*eb1的帖子

Cordova - 飞溅后的白色屏幕,在控制台中没有例外

我已经离开了我的Cordova应用程序一段时间,但昨天刚刚做了一个新的克隆,并注意到它有"白屏死机"症状 - 启动画面显示,程序加载......然后我只是得到一个空白的屏幕.更多细节:

  • CLI:Cordova 6.1.1,android 5.1.1,ios 4.1.1
  • 我没有使用任何特殊的插件来显示启动画面 - 只是我的config.xml文件中的<splash>元素.
  • 这种情况在iOS和Android上都有发生,包括本地构建和使用PhoneGap Build(即调试和发布).
  • 控制台中缺少资源,例如iOS(使用Safari的开发工具)或Android(使用Chrome的开发工具).
  • 用我最后一次知道的工作版本做了一个差异,并且没有任何东西弹出来.我看到了一个未定义的Underscore引用,但我支持该更改并且它没有解决任何问题 - 我想我会在控制台中看到异常,无论如何.

Cordova/PhoneGap最近做了什么可能导致这种情况?关于如何隔离这个的任何想法?我真的很难过.

android ios cordova

26
推荐指数
2
解决办法
3万
查看次数

Cordova DeviceReady没有开火

这几天我一直在敲打这个.在尝试创建新的FileTransfer()对象时获得许多"对象未定义"错误后,看起来问题更基本 - 不知何故,DeviceReady事件未触发.

Stack Overflow在这个问题上有很多点击,但是大多数都与3x之前的cordova版本有不同的体系结构(我在4.1.2).我已经尝试了我能找到的新主题中的建议 - 删除和添加插件,更新cordova等 - 无济于事.为了试图找出问题所在,我已将启动代码注释为几行:

index.html的:

<!DOCTYPE html>
<html>
<head>
  <title>Blah</title>
  <meta charset="utf-8"/>
  <meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1">
  <link href="res/topcoat/css/topcoat-mobile-light.min.css" rel="stylesheet">
  <link href="res/css/styles.css" rel="stylesheet">
  <link href="res/css/pageslider.css" rel="stylesheet">
  <script data-main="js/main" src="lib/require.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

Main.js:

require(["app/Application"], function (Application) {
  "use strict";

  document.addEventListener("deviceready", function(){
      $('body').html("<p>device is ready</p>");
  },true);

  $('body').html("<p>waiting...</p>");
});
Run Code Online (Sandbox Code Playgroud)

屏幕只显示"等待......",而不是在一点点后在身体中显示"设备就绪".这在iOS模拟器和浏览器(cordova模拟浏览器)上都会发生.

科尔多瓦信息:

$ cordova -v
4.1.2
Run Code Online (Sandbox Code Playgroud)

插件信息:

$ cordova plugins
org.apache.cordova.globalization 0.3.3 "Globalization"
Run Code Online (Sandbox Code Playgroud)

(如果不存在全球化,我会得到相同的结果).

还有其他地方我应该看吗?我正在从命令行运行,如果这有所不同.

javascript cordova cordova-cli

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

Android - 检索默认系统字体字符串名称

有了一些Android(三星,LG,HTC)的味道,看起来可以设置默认的系统字体而不需要生根.我没有其中一个设备可以测试(我有一个较旧的联想平板电脑),但我想知道以下内容:

  1. Typeface.DEFAULT方法是否在这些设备上返回自定义字体的字体,或者始终在Roboto上返回信息?
  2. 如果它确实返回自定义字体的信息,我如何以编程方式获取自定义字体的字体名称(字符串)?
  3. 如果Typeface.DEFAULT是一个死胡同,是否有另一种方法来获取默认的系统字体名称?也许是在寻找TTF文件?

编辑:我添加的方式,我想可能会奏效,但在现实中并不:比较Typeface.DEFAULT从文件创建字样的对象/system/fonts,/system/font/data/fonts目录.这不是一个答案,但它可能有助于刺激某人提出一个.另请注意,TTFAnalyzer类不是我的.代码如下:

private String getDefaultFont() {
    String[] fontdirs = { "/system/fonts", "/system/font", "/data/fonts" };
    TTFAnalyzer analyzer = new TTFAnalyzer();
    Typeface tfDefault = Typeface.DEFAULT;
    Typeface tfTemp = null;
    String defaultFontName = "";

    System.out.println("getDefaultFont(): entry");
    System.out.println("tfDefault: " + tfDefault.toString());

    for ( String fontdir : fontdirs )
    {
        File dir = new File( fontdir );
        if ( !dir.exists() )
            continue;

        File[] files = dir.listFiles();
        if ( files == …
Run Code Online (Sandbox Code Playgroud)

android

11
推荐指数
1
解决办法
2416
查看次数

PhoneGap Build和CLI的相对图标路径

我注意到虽然cordova/PhoneGap和PhoneGap构建之间的大多数差异相当小,但似乎给我带来了一些麻烦 - 图标和启动画面的预期路径:

科尔多瓦文档:

  • 将config.xml放在root - app/config.xml中
  • 引用图标和启动屏幕文件,其中包含相对于根的路径

PhoneGap Build docs:

  • 将config.xml放在www文件夹中 - app/www/config.xml
  • 参考图标和启动屏幕文件与路径相对于www目录

这最终会破坏PhoneGap Build或CLI中的图标/启动画面的副本.有没有人找到解决这个问题的方法,以便本地和PhoneGap Build生成的应用程序都有他们需要的图标?

cordova phonegap-build

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

InnoTools Downloader未与Inno 5.5合作

根据SO上几篇文章的推荐,我一直在与InnoTools Downloader合作,尝试在Inno设置的安装脚本中为我们的应用程序安装第三方依赖项.

不幸的是,InnoTools Downloader在几年内还没有更新,并且开始看起来与目前的Inno Tools设置(目前我机器上的5.5.2(u))不兼容.ITD中的PChar参数已被PAnsiChar参数取代,当我尝试运行各种ITD_xxx程序时,它会给我不同程度的失败:

  • ITD_DownloadFiles 给出类型不匹配错误,无法在Inno Setup中编译
  • ITD_DownloadFile 编译,但显示的文件长度为6KB且不可运行.

有没有人让ITP与更新的Inno(5.3.0之后)unicode版本一起运行?或者我应该四处寻找另一种解决方案?

编辑只是为了澄清一点,我尝试进入it_download.iss文件并用PAnsiChar替换所有PChar实例.当我第一次尝试将ITD与我的设置脚本集成时,这让我超越了编译错误.

以下是Inno脚本的示例部分:

[Code]
procedure InitializeWizard();
begin
  ITD_Init; // initialize the InnoTools Downloader
  // install 3rd party tool (ex. Git) from the internet.
  if ITD_DownloadFile('http://git-scm.com/download/win',expandconstant('{tmp}\GitInstaller.exe'))=ITDERR_SUCCESS then begin
     MsgBox(expandconstant('{tmp}\GitInstaller.exe'), mbInformation, MB_OK);
     Exec(ExpandConstant('{tmp}\GitInstaller.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, tmpResult);
  end
end;
Run Code Online (Sandbox Code Playgroud)

当它运行时,它将弹出一个对话框,说明它"下载"并存储文件的位置 - 在我的机器上它位于c:\ Users \\ AppData\Local\Temp的子目录中.此文件为6KB,而不是从http://git-scm.com/download/win下载的文件,目前为15,221KB.

ITP_DownloadAfter方法给出了类似的结果.

inno-setup inno-tools-downloader

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

如何在PhoneGap将看到的android目录中获取文档

我希望能够将一些文件复制到我的PhoneGap/Cordova的Documents目录中,以便在我使用cordova-plugin-file API列出该目录时显示它们.不幸的是,文件API与平板电脑存储上实际存在的内容之间似乎存在一些脱节.以下是File插件规范所说的系统目录结构应如下所示:

Android文件系统布局

  • file:///android_asset/| cordova.file.applicationDirectory
  • file:///android_asset/data/data/<app-id>/| cordova.file.applicationStorageDirectory
  • file:///android_asset/data/data/<app-id>/cache| cordova.file.cacheDirectory
  • file:///android_asset/data/data/<app-id>/files| cordova.file.dataDirectory
  • file:///android_asset/data/data/<app-id>/Documents| cordova.file.documents
  • <sdcard>/| cordova.file.externalRootDirectory
  • <sdcard>/Android/data/<app-id>/| cordova.file.externalApplicationStorageDirectory
  • <sdcard>/Android/data/<app-id>/cache| cordova.file.externalCacheDirectry
  • <sdcard>/Android/data/<app-id>/files| cordova.file.externalDataDirectory

不幸的是,当我将设备(4.4.2 /联想平板电脑)插入我的PC或Mac时,我没有看到这一点.相反,我看到:

- Internal Storage
|- .IdeaDesktopHD
|- .lelauncher
|- .magic
|- .powercenterhd
|- Alarms
|- Android
|- Audio
|- Bluetooth
|- Contact
|- data
|- DCIM
|- Document
|- Download
|- googleota
|- legc
|- LenovoReaper
|- LesyncDownload
|- Movies
|- MyFavorite
|- Notifications
|- Others
|- Pictures
|- …
Run Code Online (Sandbox Code Playgroud)

android cordova cordova-plugins

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

用内联块换行

float最近在使用CSS 容器时遇到了一些布局重叠问题,并开始考虑使用它display: inline-block。到目前为止,一切都很好...除了我需要能够添加换行符,clear对于浮点数也是如此。一些示例文字...

.ib {
  border: 1px solid #333;
  display: inline-block;
  padding: 3px;
}
.block-start {
  border: 1px solid #0cc;
  display: inline-block;
  padding: 3px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
      <div class="block-start">block-start</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
      <div class="block-start">block-start</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
      <div class="ib">inline-block</div>
</div>
Run Code Online (Sandbox Code Playgroud)

是否可以让我的.block-start <div>元素开始新的一行?

编辑:我应该提到,每个.block-start元素都需要与其他ib块内联,例如章节编号。

css

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