小编Cod*_*eat的帖子

使用jQuery检测中键单击(滚动按钮)

我有一个带有标签的列表可以播放一些mp3文件.使用jQuery绑定'click'事件时它工作正常:

$oo.data({'__mp3play':true,'wapiHandle':h+0,'wapiIndex':o.ajaxPlayList[h].length})
           .bind( 'click', function()
            { var wh = $j(this).data('wapiHandle');
              if( typeof o.regObjects[wh] == 'object' && o.regObjects[wh].play(this.href))
               { return false; }
            });
Run Code Online (Sandbox Code Playgroud)

单击鼠标左键时:当我的flash插件加载时,它会禁用默认处理,否则将正常打开.

但是:当我使用鼠标滚动按钮并单击它时,点击事件不会触发,链接正常打开.

我曾试图使用mousedown或mouseup事件,但没有帮助,链接总是正常打开,音乐开始播放的副作用也与flash播放器一起播放.

preventDefault()根本不起作用.

有人可以告诉我如何检测鼠标中键单击(滚动按钮单击)?

谢谢您的意见.

PS:我已经尝试过关于本网站上"中间按钮"的其他解决方案.

在所有类型的浏览器中测试具有相同的结果.

编辑:这也不起作用,使用鼠标中键时链接将正常打开.使用鼠标左键时,没有任何反应.

$oo.bind( 'mousedown click mouseup', function(e)
{ e.preventDefault(); e.stopPropagation(); return false; });
Run Code Online (Sandbox Code Playgroud)

jquery scroll click button

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

函数内声明函数的范围

我想知道为什么php在函数内部声明函数时以不同方式处理函数内声明函数的范围.

例如:

function test() // global function
{
  function myTest() // global function. Why?
  {
    print( "Hello world" );
  } 
}

class CMyTestClass
{
  public function test() // method of CMyTestClass
  {
    function myTest() // This declaration will be global! Why?
    {
      print( "Hello world" );
    } 
  }
}

}
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释为什么会这样吗?谢谢您的回答.

格尔茨.

php scope class function

15
推荐指数
2
解决办法
7872
查看次数

IE中固定定位元素闪烁,如何解决?

IE11中的奇怪问题,当使用鼠标滚轮或光标键时,以下项目的固定背景会闪烁.肯定是这是一个错误.

网站:http://gerbrandy.zitemedia.nl:88 /

我使用脚本来调整背景比例,但这不是问题,因为滚动时resize事件不会触发,所以这不是脚本的问题.它与固定定位元素有关.在所有其他浏览器中,此脚本可以使用几年.

我不知道如何解决这个问题.尝试了几件事,但不知道如何禁用javascript例如但不应该是这种情况.我在Windows 8.1上使用IE11.

有人对此有相同的经验,你知道如何解决这个问题吗?

javascript css internet-explorer css-position flicker

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

有没有办法开发真正的NATIVE移动跨平台应用程序而不包装东西?

我试图找到一种方法来开发真正的原生移动应用程序,跨平台.我发现的工具数量巨大,非常庞大.

我试过的所有工具"都说"最终结果将是原生的,但实际上并非如此.它是一个可执行文件,其中包含一个webbrowser,还有一些额外的本机层/框架到设备特定功能.

我想要一个真正的原生应用程序的原因是:

  • 速度快,紧凑
  • 避免浏览器问题
  • 市场接受度
  • 避免简单/'脚本小子"逆向工程

我试过的产品:

  • Appcelerator(在我的系统上无法正常工作)
  • PhoneGap(不创建真正的原生应用)
  • Embarcadero radPHP EX2(使用PhoneGap)
  • Embarcadero radStudio EX2(无法创建移动/ Android应用程序?)
  • Adobe Flash Builder(工作得很好,但依赖于Air,因此应用程序非常庞大,没有振动等本机设备(可用,但必须自己编写)
  • Flash Develop(但与Adobe Flash Builder相同)
  • .....和其他一些人;-)喜欢moSync ......

目前我已经下载了"RhoStudio",但对此有一些疑问,因为在介绍视频中他们谈论的是我不想要的东西.

目标方向首先是Android,iOS,也可能是未来的Windows Phone.注意:我没有Mac,因此我无法在Mac上编译它.

我想要的是不可能的,还是有这样的产品可以做到这一点?

编辑:看到我的回答,答案是否定的!

compiler-construction mobile cross-platform

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

是否有一些库可用于IQR代码(不是QR代码)?

最近我发现了这个:http://2d-code.co.uk/iqr-qr-code/

这是一个QRCode但是改进版.我在一些项目中使用了一些QRCode库,这是一项很棒的技术,但IQR-Code听起来很有前途.减小尺寸(有时尺寸是个问题),并且可以在非常小的占地面积上包含更多字符.

要了解新技术,请参阅此页面.

我想尝试使用这些新的QRCode,以确定它是否真的有用并且适合我的某个项目,但我找不到任何库.我想找到一个可以在Android,Delphi,PHP,AS3或/和javascript中使用的库.互联网上是否有一个"隐藏"链接将我带到这样的图书馆?

我想知道的下一件事是阅读速度.例如,ZBAR和XZing库以剃刀速度读取QR码.那么错误纠正呢,它足够准确吗?因为它占用的空间较小,所以相机很容易读取吗?以这种新格式投入时间是否值得?

有没有关于此的更多信息或是否有我可以下载的演示项目?

编辑12/01/2018:

YAB


今天我找到了由弗劳恩霍夫研究所发起的YAB(又一条码).它是一种带有颜色的3D条形码,可以在更小的外形中容纳更多数据.它是免费使用,源代码可用,值得更多关注,看看:

或者使用在线演示:

javascript api android open-source qr-code

8
推荐指数
1
解决办法
3518
查看次数

谷歌代理是假的爬虫吗?例如:google-proxy-66-249-81-131.google.com

*编辑: 此问题的解决方案低于此问题,因为无法发布答案.人们决定关闭这个问题.*

最近我发现谷歌代理的一些变种访问我的网站.我怀疑这些是合法的谷歌抓取工具,因为这些抓取工具并不总是在代理后面(如主机名描述),并将自己标识为浏览器.主机名的格式与google bot类似,但添加了字符串'proxy'.

我的PHP阻止类会阻止这些抓取工具,但阻止这些抓取程序是否正确?他们是什么,这些是来自谷歌还是假的?

这里有一些关于其中一个抓取工具的信息:

BlockedIp Notifier Report - IP:66.249.81.131:: has been blocked

Ticket ID : {EVNT_136877_2013040520130402_33147_10348}  
Event type : Access blocked  
Event date : 04/05/2013 - 19:17:47 (server date-time)  
Event counter : First occurring  
Processed url : http://streambutler.net/  
From url : http://www.google.com/search  
Domain : streambutler.net 
Domain IP : 95.170.70.213  
Visitor IP : 66.249.81.131  
Proxy IP : 66.249.81.131  

Critical : Yes  
Action required : No  


Additional information
Problem : Bad Proxy - via 66.249.81.131 
Hostname : google-proxy-66-249-81-131.google.com …
Run Code Online (Sandbox Code Playgroud)

php block web-crawler

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

ESP:操作系统自动登录/接受消息,并重定向到公共 WIFI 门户访问点等页面

例子:

我不知道你怎么称呼这个功能,所以我试着解释一下。例如,当您将手机连接到公共 WiFi 热点/接入点时,您会收到来自操作系统的消息,要求您接受条款/条件或您需要登录才能使用连接。当您单击此消息时,它会打开/a 浏览器并启动登录页面。

他们怎么做到的?这是 https 功能吗?


更新:(1)

它被称为俘虏门户:

强制门户技术强制网络上的 HTTP 客户端在正常使用 Internet 之前查看特殊网页(通常用于身份验证)。强制门户将 Web 浏览器转变为身份验证设备。这是通过拦截大多数数据包来完成的,无论地址或端口如何,直到用户打开浏览器并尝试访问网络。届时,浏览器将被重定向到可能需要身份验证和/或付款的网页,或者只是显示可接受的使用政策并要求用户同意。强制门户用于许多 Wi-Fi 热点,也可用于控制有线访问(例如公寓、酒店房间、商务中心、“开放式”以太网插孔)。


情况:

我想用 ESP(ESP32/ESP8266)做同样的事情,因为我开发了一个可以通过 WiFi 配置的设备。当用户连接到设备并且不必先打开浏览器、输入 IP 地址等时,这将是非常用户友好的。只需一条消息,用户可以点击它,就会启动一个主页。

在 AP 模式下,我打开了 DNS 并将所有内容重定向到主页,但这不是最佳解决方案(有时也不起作用)。为了让您了解我在做什么,这里有一些代码,我的库的一部分:

bool suStartAccessPointNetwork( String  sSSIDNetworkName, String   sSSIDPassword,
                                IPAddress sStaticIpAddress,
                                uint16_t iDnsPort = 0,
                                uint8_t iTries = 20, 
                                uint16_t iDelay = 500 
                              )
{ 
  WiFi.disconnect();
  suSetNetworkAccessPointMode();
  delay( 1000 );
  WiFi.softAPConfig( sStaticIpAddress,
                       sStaticIpAddress,
                       IPAddress( 255, 255, 255, 0 )
                     ); 

  SU_WIFI_AP_ESTABLISHED = WiFi.softAP( sSSIDNetworkName.c_str(), sSSIDPassword.c_str() );

  if( iDnsPort > 0 ) …
Run Code Online (Sandbox Code Playgroud)

c++ wifi access-point arduino-esp8266

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

根据Javascript中的字符串输入生成唯一编号

在过去,我创建了一个从字符串生成唯一ID(数字)的函数.今天我发现它不是那么独特.从来没有看到过问题.今天,两个不同的输入生成相同的id(数字).

我在Delphi,C++,PHP和Javascript中使用相同的技术来生成相同的id,因此当项目涉及不同的语言时没有区别.例如,对于HTML id,tempfiles等,这可以很方便地进行通信.

通常,我所做的是计算字符串的CRC16,添加总和并返回它.

例如,这两个字符串生成相同的id(数字):

o.uniqueId( 'M:/Mijn Muziek/Various Artists/Revs & ElBee - Tell It To My Heart.mp3' );
o.uniqueId( 'M:/Mijn Muziek/Various Artists/Dwight Yoakam - The Back Of Your Hand.Mp3');
Run Code Online (Sandbox Code Playgroud)

它们都生成了224904的id.

以下示例是一个javascript示例.我的问题是,我怎样才能避免(稍微改变)它产生重复?(如果您可能想知道'o.'的含义,它是这些函数所属的对象):

o.getCrc16 = function(s, bSumPos) {
  if(typeof s !== 'string' || s.length === 0) {
    return 0;
  }
  var crc = 0xFFFF,
    L = s.length,
    sum = 0,
    x = 0,
    j = 0;
  for(var i = 0; i < L; i++) {
    j = s.charCodeAt(i);
    sum += ((i + …
Run Code Online (Sandbox Code Playgroud)

javascript string numbers unique

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

是否有通用的I2C命令来查看总线上是否仍有设备?

是否有一般的I2C命令来查看设备在初始化一次后是否仍然存在?例如OLED显示器.我之所以这样做的原因是为了避免主程序冻结(当设备断开连接时),因为库代码中存在无限循环,例如Wire库.

在启动MCU时,我想检查设备是否可用,并在设备可用时进行初始化.我用这个功能这样做,工作得很好.....

bool MyClass::isPnpDeviceAvailable( uint8_t iAddress, bool bIsInitOnce = false )
{
     // Try to start connection
    Wire.beginTransmission( iAddress );

     // End connection without STOP command if already is initialized
    return ( Wire.endTransmission( !bIsInitOnce ) == 0x00 ); // No Error?, return true
}
Run Code Online (Sandbox Code Playgroud)

....但是,当我想检查设备是否仍然存在时,在执行更新之前,当我这样做时:

// 1.
if( isPnpDeviceAvailable( 0x3C, true )) 
 { /* Cause program hang */ }
// 2.
if( isPnpDeviceAvailable( 0x3C )) 
 { /* Cause display to turn off  */ }
Run Code Online (Sandbox Code Playgroud)

是否有通用命令,说/只发送一个"Hello,你在那里"并等待回复而不发送START和STOP命令而不中断设备/总线状态?


这是我用附件(可选的PNP I2C)显示器制作的原型设备.

具有PNP I2C显示的设备

c++ arduino i2c bus

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

好坏:在构造函数中调用析构函数


休息:我不认为这实际上是同一个问题,另一个问题是关于手动调用析构函数的一般问题。这是在类本身内部的创建过程中。仍然想知道执行此操作时会发生什么,如下面的问题所述。


起初,我认为这很糟糕,真的很糟糕。只需分析这两个人编写的构造函数的这段代码(请参见下文),并需要将其转换为Delphi对象Pascal。它的行为必须与C版本相同。我不喜欢这种风格,非常丑陋,但是没关系。

另一件事,在代码的两个阶段中,当失败时会调用析构函数(我想关闭连接,但是删除后会自动调用析构函数,为什么还是要这样做呢?)。我认为这不是做到这一点或错过某些东西的方法吗?

另外,在调用析构函数之后,他们想抛出一个异常(是吗?),但是我认为这将永远不会执行,并且当您手动访问或删除它时会导致另一个异常。


Serial::Serial(
  std::string &commPortName,
  int bitRate,
  bool testOnStartup,
  bool cycleDtrOnStartup
) {
  std::wstring com_name_ws = s2ws(commPortName);

  commHandle =
    CreateFileW(
      com_name_ws.c_str(),
      GENERIC_READ | GENERIC_WRITE,
      0,
      NULL,
      OPEN_EXISTING,
      0,
      NULL
    );

  if(commHandle == INVALID_HANDLE_VALUE)
    throw("ERROR: Could not open com port");
  else {
    // set timeouts
    COMMTIMEOUTS timeouts;

    /* Blocking:
        timeouts.ReadIntervalTimeout = MAXDWORD;
        timeouts.ReadTotalTimeoutConstant = 0;
        timeouts.ReadTotalTimeoutMultiplier = 0;
       Non-blocking:
        timeouts = { MAXDWORD, 0, 0, 0, 0}; */

    // Non-blocking with short timeouts
    timeouts.ReadIntervalTimeout = 1;
    timeouts.ReadTotalTimeoutMultiplier = …
Run Code Online (Sandbox Code Playgroud)

c++ windows constructor destructor

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

只有手机safari打不开页面,没有网络留言

起初,我没有 iPad,但一些客户报告我的网站在 iPad 上出现了一些奇怪的问题。他们无法打开网站上的任何页面,最终得到一个带有消息的空白页面:“Safari 无法打开网页,因为它没有连接到互联网”。

该消息有点奇怪,因为用户可以打开其他网站并且它们已连接到 Internet。有时您会看到网页一瞬间,然后看到相同的消息。

昨天我的一个朋友(他不是程序员)带着他的带有 IOS7 的 iPad 3 来测试它,但我们无法弄清楚问题是什么,因为 Safari 不共享一些调试信息(至少你需要一个 mac 来查看调试信息和我也没有Mac)。

我在 Windows 机器上本地测试了相同版本的网站,以确保它不是托管问题。iPad Safari 上出现同样的错误,因此提供的文件存在问题。

该网站是用 PHP 编程的。到目前为止我测试过的(并没有导致解决方案):

  • Safari:关闭 Cookie 和 Javascript
  • Safari:多次清空缓存
  • PHP:关闭发送标头信息(禁用所有自定义缓存标头)
  • PHP:关闭浏览器的自定义 CSS
  • PHP:关闭精灵嵌入(base64 数据嵌入)
  • PHP:关闭 HTML 的缩小

问题仍然存在。如果没有 Safari 的任何调试信息,很难测试出了什么问题,有人可以看到导致此错误的 safari 浏览器中发生了什么吗?

网址:http : //www.meezingeninrotterdam.nl

并且这个错误是否也出现在 Safari 的 MAC 版本上?

编辑:向 Apple 报告错误: Apple Safari 错误错误报告

更新:

认为我找到了原因,另请参阅我的解决方案。如果您有 iDevice,您想测试它以确认吗?请参阅下面的我的解决方案。

更新 2

请参阅答案,来自 Apple 的答案。没有解决方案。如果您知道解决方案或解决方法,请告诉我。

html javascript css php mobile-safari

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

TEmbeddedWB/TWebbrowser:window.external是一个空对象,但可以调用函数,为什么它首先是"空"?

用例(首先是一些信息):

我制作了一些HTML/CSS3/Javascript游戏,可以在平台特定的可执行文件中在WebView/Embedded浏览器中的不同平台上运行.我自己设计了它,因为我厌倦了所有的"框架",告诉我使用它们的框架是多么简单.我不需要这些框架的所有臃肿与他们令人印象深刻的类和东西,它必须简单作为ABC,对吧?另外,因为webview比本机代码慢,所以它必须简单直接才能获得最佳性能.

所以我设计了一个在javascript中作为变量提供的接口,无需加载额外的javascript类(如cordova或phonegap或其他).因为我也使用Windows(Windows无法将对象变量的名称更改为'publish'),所以可以通过javascript通过window.external访问它.在webview /浏览器中加载html时,此变量将成为对象.

这一切都很好(在不同的平台上),但window.external变量似乎是Windows上的一个空对象,但是当你尝试调用一个类似的函数时window.external.vibrate(500),它将被执行而没有错误(此函数存在于该对象的所有平台版本中).

然而,类似的typeof window.external.vibrate结果'undefined'.遍历对象不会做任何事情,例如:

for( var p in window.external ) {
   alert( p );
}
Run Code Online (Sandbox Code Playgroud)

因此,测试外部对象是否是"真正的"外部对象并且不可能看到支持哪些功能(如果需要)并不容易.

我该怎么办?我想念一些东西吗?

为了给你一些信息,我已经按照这个'指南':http: //www.delphidabbler.com/articles?article = 22.

我的代码(简化):

类型库:

unit WebBrowserBridge_TLB;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to …
Run Code Online (Sandbox Code Playgroud)

javascript delphi interface webbrowser-control

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

服务exe不接收电源事件

我已经创建了一个服务exe,它将在启动时自动运行.

我正在使用此示例来创建服务:http: //www.cromis.net/blog/2011/04/how-to-make-a-very-small-windows-service-executable/

效果很好.该服务需要"监控"PC的状态,例如检查PC是否连接到电源.如果发生变化,例如从连接电源到电池或电池电量不足,它将发送有关设备临界状态的紧急电子邮件.

当作为普通的exe运行但不作为服务运行时,这非常有效.目标是能够在PC的任何状态(登录或不登录)中执行此操作,因此必须作为服务运行.

我创建了一个窗口句柄来接收WM_POWERBROADCAST消息,例如:

procedure TEventAlerter.wndProc(var Msg : TMessage);
var
  handled: Boolean;

begin
  log( 'wndProc processed - '+intToStr( Msg.Msg ));
  // Assume we handle message
  handled := TRUE;
  case( Msg.Msg ) of
    WM_POWERBROADCAST : begin
                         case( Msg.WParam ) of
                           PBT_APMPOWERSTATUSCHANGE : powerChangeEvent(Msg.WParam);
                           PBT_APMBATTERYLOW        : powerLowEvent(Msg.WParam);
                          else powerEvent(Msg.WParam);
                         end;
                        end;
    else handled:= FALSE;
  end;

  if( handled ) then
   begin
    // We handled message - record in message result
    Msg.Result := 0
   end
  else
   begin
    // We didn't …
Run Code Online (Sandbox Code Playgroud)

windows delphi api service power-state

0
推荐指数
1
解决办法
1181
查看次数