标签: detect

检测移动设备并重定向的最佳方法

这是我根据屏幕尺寸检测移动显示的代码段。您可以通过向URL添加forceDesktop参数来强制网站保持桌面模式。

我是jquery新手,所以如果您有建议,请发表评论。

致谢brandonjp: 如何获取JavaScript中的查询字符串值?

        <script>
            $.urlParam = function(name, url) {
                if (!url) {
                    url = window.location.href;
                }
                var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
                if (!results) { 
                    return undefined;
                }
                return results[1] || undefined;
            }
            window.onload = function() {
                var forceDesktop = $.urlParam('forceDesktop');
                if (!forceDesktop) {
                    if ( $(window).width() < 639) {   
                        var url = "http://m.mysite.com/";    
                        $(location).attr('href',url);
                    }
                }
            };
        </script>
Run Code Online (Sandbox Code Playgroud)

mobile jquery redirect detect screen-size

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

单元测试在未在应用程序服务器中运行时应如何设置数据源?

感谢大家的帮助.你发布了一些(我应该预料到的)答案,表明我的整个方法都是错误的,或者低级代码永远不必知道它是否在容器中运行.我倾向于同意.但是,我正在处理一个复杂的遗留应用程序,并且没有选择对当前问题进行重大重构.

让我退后一步,问问题是我原来问题的动机.

我有一个在JBoss下运行的遗留应用程序,并对低级代码进行了一些修改.我为我的修改创建了一个单元测试.为了运行测试,我需要连接到数据库.

遗留代码以这种方式获取数据源:

(jndiName是一个已定义的字符串)

Context ctx = new InitialContext();
DataSource dataSource = (DataSource) ctx.lookup(jndiName);
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我在单元测试下运行此代码时,Context没有定义数据源.我的解决方案是尝试查看我是否在应用程序服务器下运行,如果没有,则创建测试DataSource并返回它.如果我在app服务器下运行,那么我使用上面的代码.

所以,我真正的问题是:这样做的正确方法是什么?是否有一些批准的方式单元测试可以设置上下文以返回适当的数据源,以便被测代码不需要知道它在哪里运行?


对于上下文:我的原始问题:

我有一些Java代码需要知道它是否在JBoss下运行.是否有规范的方法来判断代码是否在容器中运行?

我的第一种方法是通过实验开发出来的,包括获取初始上下文和测试它可以查找某些值.

private boolean isRunningUnderJBoss(Context ctx) {
        boolean runningUnderJBoss = false;
        try {
            // The following invokes a naming exception when not running under
            // JBoss.
            ctx.getNameInNamespace();

            // The URL packages must contain the string "jboss".
            String urlPackages = (String) ctx.lookup("java.naming.factory.url.pkgs");
            if ((urlPackages != null) && (urlPackages.toUpperCase().contains("JBOSS"))) {
                runningUnderJBoss = true;
            }
        } catch (Exception e) {
            // If we …
Run Code Online (Sandbox Code Playgroud)

java jboss containers detect java-ee

6
推荐指数
2
解决办法
1728
查看次数

在运行时检测 C++ 中堆碎片的便携式方法?

我正在编写一个基于 qt 的 c++ 应用程序,我需要能够检测内存碎片以检查当前系统是否能够真正承受内存负载:程序加载一个大图像(15/21 兆像素是标准)在内存中,然后对其执行一些过滤(使用稀疏矩阵)。例如,我在 Windows 中遇到内存碎片问题,VMMap 在这方面非常有帮助:问题是一些 DLL(Wacom 平板电脑“wintab32.dll”和 UltraMon 应用程序)没有重新定位,因此正在拆分地址空间在过程的 0x10000000-0x30000000 VA 处。

我想为应用程序提供对碎片问题的某种认识,并想知道是否已经存在提供 VMMAP 信息的跨平台 (linux/mac/win32) 方法。

c++ memory heap-memory detect fragmentation

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

与平台无关的检测git是否已安装的方法

这就是我在ruby中检测git的方法:

`which git 2>/dev/null` and $?.success?
Run Code Online (Sandbox Code Playgroud)

但是,这不是跨平台的.它在非unix系统或没有which命令的系统上失败(虽然我不确定它们是什么).

我需要一种方法来检测满足这些条件的git:

  1. 即使在Windows上,也可以跨平台工作
  2. 不会向$ stdout或$ stderr输出任何内容
  3. 少量的代码

更新:解决方案是避免which完全使用并将输出重定向到NULWindows.

require 'rbconfig'
void = RbConfig::CONFIG['host_os'] =~ /msdos|mswin|djgpp|mingw/ ? 'NUL' : '/dev/null'
system "git --version >>#{void} 2>&1"
Run Code Online (Sandbox Code Playgroud)

system命令在成功时返回true,在失败时返回false,从而节省了$?.success?使用反引号时所需的行程.

ruby windows git shell detect

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

javascript:如何在HTML img元素支持中检测SVG?

javascript:如何在HTML img元素支持中检测SVG?

我试过这个,但它不起作用:

x = new Image();
x.onload = function(){
  if (x.width) {
   alert('svg in img tag supported!');
  }
};
x.src = 'test.svg';
Run Code Online (Sandbox Code Playgroud)

javascript svg detect

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

Java:文件重命名检测

有没有办法使用Java检测文件重命名?(NIO的WatchService API或任何其他)从我在重命名文件时看到的情况发生了两个单独的事件 - ENTRY_DELETE,然后是ENTRY_CREATE.

java nio rename file detect

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

是否有可能通过img src ="... vs地址栏/"作为文件来检测图像是否已加载?

是否可以通过以下方式检测图像是否已加载:

<img src="image.jpg"/>
Run Code Online (Sandbox Code Playgroud)

与地址栏中的对比或直接通过以下方式链接:

<a href="image.jpg">Image</a>
Run Code Online (Sandbox Code Playgroud)

谢谢.

html image detect http-headers

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

如何在android中的EditText中检测表情符号

我想检测一下我是否EditText包含smilie(表情符号).但我不知道如何检测它们.

android emoticons detect android-edittext

6
推荐指数
2
解决办法
5517
查看次数

MATLAB:检测并删除2列矩阵中的镜像对

我有一个矩阵

[1 2
 3 6
 7 1
 2 1]
Run Code Online (Sandbox Code Playgroud)

并希望删除镜像对..输出将是:

[1 2
 3 6
 7 1] 
Run Code Online (Sandbox Code Playgroud)

要么

[3 6
 7 1 
 2 1]
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?我可以想象一个复杂的for循环,类似于(或者一个不会删除原始对的版本......只有重复版本):

for i=1:y
    var1=(i,1);
    var2=(i,2);
    for i=1:y
        if array(i,1)==var1 && array(i,2)==var2 | array(i,1)==var2 && array(i,2)==var1
            array(i,1:2)=[];
        end
    end 
end
Run Code Online (Sandbox Code Playgroud)

谢谢

arrays matlab matrix vectorization detect

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

C++ 如何检测您的应用程序正在运行的虚拟机是焦点

我有 2 个应用程序,每个应用程序都在各自独立的 MS Windows 7 虚拟机 (VM) 上运行。我无法为主机编写软件作为解决方案的一部分。我正在使用 Qt 使用 C++ 进行编码。

这可能不可能,但我希望能够检测虚拟机窗口何时具有焦点(不是应用程序窗口,而是虚拟机)。这两个应用程序都是全屏应用程序(至少在虚拟机内全屏),始终具有应用程序窗口焦点,但我希望能够在用户的键盘输入敲击键盘之前检测到他们将进入哪个虚拟机。钥匙。

有任何想法吗?

c++ focus virtual-machine detect

6
推荐指数
2
解决办法
8352
查看次数