问题标签 [handhelddevice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

html - 建立网站手持设备友好

我想采用一种方法将我的固定宽度网站转换为手持设备友好型网站。任何人都可以建议哪种方法是最好的。考虑到它不应该影响网站的加载时间。我相信响应式网页设计应该可以工作,但我从研究中发现响应式网页设计中使用的响应式图像有时会影响网页加载时间。

0 投票
1 回答
4939 浏览

screen - css媒体类型“手持”关心什么参数?

我需要根据页面是手持设备(如手机)还是大屏幕设备(如笔记本电脑、固定电脑或平板电脑)来更改页面样式。

我知道我可以通过 css max-width 查询等检测分辨率,但这并不令人信服。主要是因为今天的智能手机拥有如此高分辨率的屏幕。即索尼 Xperia S,它有一个 720p x 1280 的屏幕,但它只有 4,3"。因此,在普通计算机屏幕上可以阅读的 10px 字体将变得太小而无法阅读。

因此,我需要知道的不仅仅是分辨率,才能知道它是否是小屏幕设备。(我认为 media="handheld" css 样式是要走的路。如果我错了,请纠正我)。

那么:css媒体类型“手持”关心什么参数呢?

  • 设备屏幕尺寸?
  • 浏览器窗口大小?
  • 带宽?
  • 设备是否“手持”的信息是否只是客户端传递的参数?
  • 平板电脑是否包含在“手持”设备中?

等等

谢谢!

0 投票
1 回答
715 浏览

c#-2.0 - CK30:使用 BarcodeReader() 后,我的键盘停止工作

我正在为带有 C# compact framework 2.0(windows mobile 6.1)中的 2D 阅读器的 Intermec 手持设备 CK30 开发。

每次我使用条形码时,我的键盘都会停止工作。任何想法为什么?

这是代码。第一部分是配置条形码阅读器的类。第二部分是使用条形码阅读器填充文本框的表单。

使用条形码阅读器读取内容后,键盘停止工作......

0 投票
1 回答
5166 浏览

css - 如何让 twitter-bootstrap 导航栏子项在小屏幕上折叠/展开?

twitter-bootstrap 'hero' 示例(http://twitter.github.io/bootstrap/examples/hero.html)运行良好。冒着描述显而易见的风险......在小屏幕上,当导航栏菜单被激活时,只有第一级项目是可见的,子项目是折叠的。当轻触具有子项的项时,子项会展开并变为可见。它们也可以通过再次点击父级来折叠。

我在 Joomla 网站 ( http://wright.gvta.net/ ) 上使用引导模板。不幸的是,当导航栏在小屏幕上激活时,它会扩展许多子项。点击父项不会展开/折叠其子项。

如何让 twitter-bootstrap 导航栏子项在小屏幕上折叠/展开?哪些引导代码/文件负责此行为?

我知道一些 css 和 javascript,但还不足以弄清楚这一点。

谢谢你。

0 投票
1 回答
3333 浏览

c# - 检测 UserAgent 不是来自 Mobile

条件 嗨,目前我有一个功能来检测客户端请求是否来自移动设备。功能如下。

问题: 这不足以检测手持设备,所以我通过互联网获得了一个字符串列表来比较它是否包含在 Userstring 中

如果设备继续增加,那么这个列表会很长

我想扭转这种情况。我想检测请求是来自 PC 还是笔记本电脑,而不是来自手持设备。有什么办法吗?还是我想错了?

0 投票
0 回答
656 浏览

c# - ASP.NET 移动客户端打印

我有一个简单的 asp.net 页面,其中包含从 MySQL 中提取到四个标签中的数据。我希望人们从任何可以浏览互联网的手持设备、低端手机、高端智能手机等访问该页面。事情是因为大多数移动手持设备没有内置手机浏览器的打印功能,我需要打印那些标签到客户端的蓝牙打印机。

这甚至可能吗?如果是,我应该谷歌什么,我花了几个小时谷歌搜索各种东西,但没有运气。此外,如果不可能,我应该如何创建一个我需要的页面或 Web 应用程序,它可以在几乎所有可用的手机上运行,​​而无需开发,只针对 android 或 IOS?此外,如果我们可以尽可能坚持使用 c#,如果没有,任何建议都会有所帮助。

0 投票
1 回答
3625 浏览

usb - 连接到手持设备时,Windows Mobile 设备中心/Active Styc 中的连接设置应该是什么?

到今天为止,我不再连接到我的手持设备。

根据 Windows Mobile 设备中心,它甚至看不到它。毫无疑问,由于这个原因,该设备也不再出现在 Windows 资源管理器中。

某些设置已在外部以某种方式进行了更改-有关更多详细信息,请参阅此帖子

所以我不得不玩弄它,看看是什么让它再次工作:

我多次热启动设备。

我重启了电脑几次。

我更改了连接设置(从“蓝牙”到“COM1”),虽然看起来不合逻辑,但关闭了“允许 USB 连接”

我什至把所有的硬件都换了:底座、USB线和电源线;我什至在摇篮里放了一块电池(在那之前它没有)。没有什么帮助。现在 Windows Mobile 设备中心看起来像这样:

在此处输入图像描述

是我的设置吗?连接到(摩托罗拉/符号)手持设备应该是什么?

或者那些(设置)甚至不一定是问题?

更新

这里说:

“在同步中心的左侧窗格中,单击设置新的同步合作伙伴关系。如果您的设备未出现在此列表中,则它不支持同步中心。”

它确实出现了,但这就是:

在此处输入图像描述

“查看同步冲突”不显示任何内容,“查看同步结果”也不显示

当我尝试“建立新的同步伙伴关系”时,它似乎没有为我提供我需要的东西:

在此处输入图像描述

(我需要连接到手持设备,而不是旧的 SQL Server DB 或脱机文件)

更新 2

终于又连上了。

由于没有任何效果,我忽略了我在互联网上看到的建议和提示,并将值设置为看起来最合乎逻辑的值:

我选中了以下所有复选框,第一个下拉列表中有“COM1”,第二个下拉列表中有“Work Network”。当我接受这些更改时,WMDC(nee ActiveStync)关闭。然后我手动重新启动它,欢乐的喜悦和奇迹的奇迹,它终于再次连接。

更新 3

现在设备“突然”再次失去连接 - ActiveStync(Windows Mobile 设备中心)的“连接设置”对话框不知何故长出了其残留的复选框,“连接到 PC 时允许设备上的数据连接”:

在此处输入图像描述

什么鬼!?

0 投票
2 回答
1995 浏览

deployment - 为什么我的 CE 应用程序拒绝运行?

我一直在维护一个 Windows CE 应用程序一段时间(一年多),并且不时生成它的新版本,将它们复制到手持设备并在那里运行新版本。

不过,今天,我第一次创建了一个新的 Windows CE 应用程序。这是一个非常简单的实用程序。

为了在 VS 2008 中创建它,我选择了一个 C#“智能设备项目”模板,添加了一些控件和一些代码,然后构建了它。

以下是我选择的一些选项:

在此处输入图像描述

我将通过构建项目生成的 .exe 复制到手持设备的 Program Files 文件夹中:

在此处输入图像描述

...但它不会运行。是不是在错误的位置?是否需要复制一些辅助文件?我需要做一些其他的设置才能让它运行吗?要不然是啥?

更新

由于内容不多,我将粘贴下面的所有代码,以防有人认为我的代码可能是问题所在:

更新 2

基于,我向应用程序添加了一个全局异常处理程序,因此 Program.cs 现在是:

然而,运行新版本并没有显示任何内容——它只是在 Jack Ruby 的友好访问之后短暂地“闪烁”了与 Lee Harvey Oswald 一样多的冗长。

更新 3

问题是否与有关,如果是,如何解决?

我的现有应用程序的更新版本和这个全新的简单应用程序都拒绝运行的情况表明,在编码、构建或部署过程中的某个地方存在根本缺陷。

更新 4

由于这是一个最小的实用程序,它(以及我的遗留,涉及更多)应用程序无法运行的原因可能与项目属性、构建方式、未复制所需文件或...... ???

注意:桌面图标是“通用的”(看起来像一个空白的白色表格);这可能表明存在问题,但它是否表明有问题或者是一个小问题(仅限美学)?

更新 5

在 Project > Properties... 中,Platform 设置为“Active (Any CPU)”和 Platform target 相同(“Active (Any CPU)”)

我读过这是错误的,它应该是“x86”,但没有可用的“x86”选项 - 任何 CPU 都是唯一的......?!?

更新 6

在项目 > 属性... > 设备中,选中“部署最新版本的 .NET Compact Framework(包括服务包) ”。这是应该的吗?

更新 7

好的,这是所有这一切中真正奇怪的部分:

我有两个 CF/CE 应用程序需要在这些 Motorola/Symbol 3090 和 3190 手持设备上运行。

一个是上面讨论的这个简单的实用程序。我发现它确实可以在其中一台设备(3190,FWIW)上运行。所以它在一台设备上运行,但不在另一台设备上运行。

但是,另一个(旧版).exe 则相反 - 它在 3090 上运行(该实用程序甚至不会启动),但不在 3190 上。

因此,3190 满足了实用程序的需求,3090 满足了旧版实用程序的需求。但是,旧版应用程序的新版本不能在任何设备上运行!

我很困惑;在谈到他的三个接球手时,我的感觉就像凯西·斯坦格尔(Casey Stengel)所说的那样:“我有一个会投但不会接球,一个会接球但不会投球,还有一个会击球但两者都不会。 "

更新 8

3190 安装了更新版本的 CF;似乎新旧应用程序都应该在具有较新 CE 的新设备上运行,但它们不会——只有针对/为新框架构建的应用程序才可以......

更新 9

这是 3090 的外观:

在此处输入图像描述

更新 10

所以我有两个 exe,一个在设备上运行(现在都在),另一个在这两个设备上都不运行。这两个exesw似乎几乎相同。我将它们与三个工具进行了比较:Red Gates 的 .NET Reflector;JetBrains 的 dotPeek 和 Dependency Walker。

这是我发现的:

Dependency Walker 两者似乎都有关于缺少依赖项的相同错误(我没有将它们与它们的依赖程序集放在同一个文件夹中,这可能是那里的问题)

.NET Reflector 非工作文件具有工作文件没有的以下条目:

这是问题吗?如果是,我该如何改变它?

JetBrains dotPeek exe工作副本中的References都是1.0.50000.0版本

非工作 exe 具有相同的参考列表和相同的版本号。

但是有这个区别:

对于工作的 .exe,dotPeek 说,“ 1.4.0.15,msil,Pocket PC v3.5 ” 对于非工作的 .exe,dotPeek 说,“ 1.4.0.15,msil,.Net Framework v4.5

这是问题吗?如果是,我该如何更改非工作的 .exe 以匹配工作的 .exe?

最后一个令人不安,主要是因为我在项目的非工作(较新)版本中没有看到存在“4.5”字符串的地方。dotPeek 可以从哪里获得这些信息?

更新 11

我现在确实知道问题出在这两个 MessageBox.Show() 之间,因为我看到的第一个,但不是第二个:

更新 12

更具体地说,我以某种方式进行了无限循环;通过在手持设备上捣碎“Ent”药丸(这就是按钮的样子——“菱形”)——听起来像是沙鼠踢踏舞(因为在两种方法中调试 MessageBox.Show()s 时弹出并被关闭和无限广告(字面意思)恶心)。

0 投票
0 回答
74 浏览

c# - 如何在设备上调试 CE 应用程序?

我在这里问了一个类似但不相同的问题

我的 Windows CE 应用程序甚至无法在手持设备上启动(它的旧版本会启动,但新版本不会启动)。

它构建,复制,但只是拒绝运行;当我双击它时它“闪烁”,但就是这样。没有错误的消息,只是不会让步。

我添加了一个全局异常处理程序,希望它能够发现问题并通过以下代码让我一睹它的风采:

……但还是不行;从小家伙那里听不到任何声音。

我能做些什么来找出正在发生的事情/为什么这只小野兽拒绝回应它的叫醒电话?

更新

问题是否与有关,如果是,如何解决?

这个现有应用程序的更新版本和一个全新的简单应用程序都拒绝运行的情况表明,在编码、构建或部署过程中的某个地方存在根本缺陷。

0 投票
2 回答
2670 浏览

arm - 我应该将哪个驾驶室部署到我的手持设备上以安装 CF 版本 2?

根据我在此处阅读的内容,为了在我的手持设备上安装 CF 版本 2,我应该在此处复制一个 cab 文件:

在此处输入图像描述

……但是哪一个?

有问题的设备是 Symbol 3090,目前仅安装了 CF 版本 1.0.3316.00 (1.0 SP2)。设备的操作系统版本为 05.00.1400

设备 CPU 大概是“ARMV4I”,因为类似的设备(摩托罗拉 3190)说它配备了这种设备。

更新

根据我在此处单击“此链接”时看到的内容:

-- 或 -- 如果您的设备上有 Windows Mobile 5 或更高版本,请单击此链接并将文件保存到您的计算机桌面。

...似乎“ NETCFv2.wm.armv4i.cab ”可能是最好的选择。

有什么反驳吗?

更新 2

我复制了我认为是那个文件,并在设备上单击它,但是:

在此处输入图像描述

山姆·克莱门斯 (Sam L. Clemens) 的杰出记忆中发生了什么?!?

更新 3

然后我从上面的链接复制了另一个文件,它略有不同(一方面是 2.12MB 而不是 2.14MB),并尝试运行它,并得到与上面相同的错误消息。

更新 4

尝试从最后一个链接安装,我看到:

在此处输入图像描述

更新 5

实际上,事实证明,我可能真正需要的是在设备冷启动后安装 CF 版本 1……但我不知道 CF 版本 1 是否仍然可用。这是现有 .exe 将运行的唯一版本,但我的 PC 只有版本 2 和 3.5 的 cab 文件......???

更新 6

在最新版本的 .exe 中(构建和编译,但不会在任一设备上运行),它有三个,在其引用区域中计数三个 mscorlib;版本是:

它们都具有相同的公钥令牌(与屏幕截图中显示的相同)

唯一的其他多参考是 System,它同时具有版本 2 和 3.5

而且,在 System.Xml 下,有三个 coredll.dll,尽管拼写不同:

(没有任何人的信息......???)

更新 7

我将 NETCFv2.wce4.ARMV4.cab 复制到 3090。

我在设备上单击了 2 次,但得到了这个:

在此处输入图像描述

所以,我撤退了(选择“否”)。

从而继续有增无减的意外手持开发人员的阵痛。

更新 8

该项目设置为 Framework Version == v2.0,Platform == Windows CE,Target Device == Windows Mobile 6 Classic Emulator(我拥有的为数不多的仿真器选择之一),输出显示它ARMV4i部署:

当我在模拟器中运行 .exe 时,它​​失败并显示“错误 - Platypus.exe 发生意外错误选择退出并重新启动此程序,或选择详细信息以获取更多信息。此应用程序需要更新版本的 MS .NET Compact Framework 高于此设备上安装的版本。”

选择“详细信息”按钮会增加精神痛苦,“ TypeLoadException 此应用程序需要比此设备上安装的版本更新的 MS .NET Compact Framework 版本。