小编Bam*_*bax的帖子

JavaScript中的字符串压缩

我正在寻找一个JavaScript函数,给定一个字符串返回一个压缩(更短)的字符串.

我正在开发一个Chrome网络应用程序,可以将长字符串(HTML)保存到本地数据库.出于测试目的,我试图压缩存储数据库的文件,并且缩小了五倍,所以我认为如果我压缩存储的东西,它将有助于保持数据库更小.

我在JavaScript中找到了LZSS的实现:http://code.google.com/p/u-lzss/("U-LZSS").

当我使用简短的示例字符串(解码===编码)"手动"测试它时它似乎有效,而且它在Chrome中也相当快.但是当给出大弦(100 ko)时,它似乎会混乱或混合弦的后半部分.

是否有可能U-LZSS期望短字符串并且不能处理更大的字符串?是否可以调整一些参数以移动上限?

javascript lossless-compression google-chrome-extension

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

Sencha Touch - 为内容应用程序寻找一个好的教程/入门

我正在尝试使用Sencha Touch(基于ExtJs)构建一个移动"内容"应用程序,用于显示大部分文本页面.我熟悉JQuery和JQTouch; 我以前从未使用过ExtJs.

什么是最好/最快的入门方式?

我从"图标"演示开始,并且能够添加一个滚动属性('垂直'),以便在顶部和底部标签之间滚动内容(这实际上是让我参与Sencha Touch:具有"固定"工具栏的能力).

但现在呢?如何更新内容?

在ExtJs教程中(这里,靠近页面底部),它表示可以对Element对象进行操作以将内容加载到元素中; 但在"图标"Sencha Touch演示中似乎没有以相同的方式使用.

任何帮助赞赏!

extjs sencha-touch

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

jQuery是否保留触摸事件属性?

虽然此代码在触摸屏幕时产生预期的"1"行为:

document.getElementById('someNodeId').addEventListener('touchmove', touch, true);

function touch(evt) {
  evt.preventDefault();
  alert(evt.changedTouches.length);     
  }
Run Code Online (Sandbox Code Playgroud)

使用jQuery选择器的相同代码:

 $('#someNodeId').bind('touchmove', touch);
Run Code Online (Sandbox Code Playgroud)

产生错误:"TypeError:表达式结果'evt.changedTouches'[undefined]不是对象".

(Device = iPod Touch OS 3.1.3(7E18); jQuery 1.4.2).

这怎么可能,我做错了什么?

iphone jquery event-handling touch

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

是否可以在contentEditable元素中禁用或控制"命令"?

据我所知,一个元素contentEditable="true"是某种WYSIWYG HTML编辑器.它会生成与发出的命令相对应的相关HTML标记.

例如,如果选择文本然后按Ctrl+ B,则所选文本将放置在<b></b>标记之间.

我需要在结果文本中没有样式标记.如何抑制,劫持或控制这些命令的行为?

我可以做的其他事情:

  • 事后过滤掉标签; 但是当用户真的没有时,他们会认为他们把事情做了大胆的事情
  • 重新设置标签的样式,使它们不显示,然后将其过滤掉; 但是我有可能忘记一个,或者某种方式样式表被禁用
  • 完全不使用contentEditable而是使用textarea.但除此之外,还contentEditable可以很容易地突出显示正在编辑的段落.这对于一个人来说要困难得多textarea.

html javascript contenteditable

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

如何在bash中为wget缓存计算字符串(url)的哈希值

我正在构建一个小工具,它将使用wget下载文件,从不同的文件中读取URL.相同的URL可能存在于不同的文件中; 该URL甚至可以多次出现在一个文件中.多次下载页面(每次在列表中找到其URL)都是低效的.

因此,简单的方法是保存下载的文件并指示wget如果已经存在则不再下载它.

这将非常简单; 但是url非常长(许多GET参数),因此不能用于文件名(wget给出错误'无法写入... []文件名太长').

所以,我需要重命名下载的文件.但是要使缓存机制起作用,重命名方案需要实现"一个url <=>一个名称":如果给定的URL可以有多个名称,则缓存不起作用(即,如果我只是按顺序对文件进行编号)他们被发现,我不会让wget识别哪些网址已被下载).

最简单的重命名方案是计算文件名的md5哈希值(而不是文件本身的哈希值,这是md5sum所做的); 这将确保文件名是唯一的,并且给定的URL将始终具有相同的名称.

可以在Perl等中执行此操作,但是可以直接在bash中使用或使用系统实用程序(RedHat)吗?

bash md5 wget

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

通过javascript在CD-Rom上全文搜索静态HTML文件

我将在CD-Rom上提供一组静态HTML页面; 这些页面需要完全可见,无需任何Internet访问.

我想为这些页面的内容提供全文搜索(类似于Lucene),这些页面应该在CD-Rom中"正常工作"而客户端计算机上没有安装软件.

javascript中的搜索引擎实现将是完美的解决方案,但我很难找到任何看起来坚固/当前/流行......?

我找到了这些:+ jsFind + js-search

但这两个项目似乎都不活跃

除了javascript中的特定搜索引擎之外,另一个解决方案是能够从javascript访问本地Lucene索引:索引本身将使用Lucene构建并与HTML文件一起复制到CD-Rom.

编辑:自己构建(见下文).

javascript lucene search full-text-search

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

如何知道textarea中当前可见的行/字符?

带有"实时预览"的在线编辑器:左侧有一个textarea,右侧有一个预览div.每当textarea更改时,预览都会更新.

这适用于小型文件; 然而,对于很长的文档,它变得迟钝,因为预览有很多不断重新绘制的DOM元素.

最好只发送到预览,当前可见的textarea部分(因为它是需要预览的部分).

有一种启发式方法来获取textarea的第一个可见行:

  1. 确定textarea的当前滚动偏移量:
    offset = scrollTop/scrollHeight
    (0 <offset <1)
  2. textarea中可见的第一行是:(
    总行数)x offset

然而,这仅适用于"短"线,即不包裹的线.一般来说,文本区域中"行" 的数量不是换行符的数量 ; 一条长线,没有换行,包裹并可能占据许多"线条空间".

人们可以尝试计算一条线占据的"线条空间"的平均数量(换行符之间的平均字符数,textarea的宽度,字体的大小......),但这是非常不精确的.

有没有办法知道textarea中第一个和最后一个可见字符的位置?

javascript textarea

10
推荐指数
1
解决办法
712
查看次数

如何在OpenCV中测试线的接近度(Hough变换)

(这是前一个问题的后续行动).

我能够成功地使用OpenCV/Hough变换来检测图片中的线条(扫描文本); 首先,它会检测到许多行(每行文本至少有一行),但通过反复试验调整"阈值"参数,它现在只检测"真实"行.

('threshold'参数取决于图像大小,如果必须处理不同分辨率的图像,这是一个问题,但这是另一个故事).

我的问题是霍夫变换有时检测到只有一条线的两条线; 这两条线彼此非常接近并且(显然)平行.

=>我怎样才能确定两条线几乎是平行的并且彼此非常接近?(这样我只能保留一个).

opencv proximity

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

Chrome扩展程序可以监控正在运行的网页上的XHR事件(或其他事件)吗?

我正在构建一个操作页面内容的Chrome扩展程序,但我感兴趣的内容只会在用户单击按钮并且数据已从Ajax调用加载后显示.

目前,扩展程序使用SetTimeout监视页面,但它很笨拙.

扩展程序是否可以知道何时启动Ajax调用以及何时结束?或者扩展程序能否以某种方式从页面接收事件?

google-chrome-extension

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

在contentEditable元素中拖放事件

当一个东西在contentEditable元素中丢弃时(拖动后)会触发什么事件?

我说的是普通的拖放,而不是HTML5拖放(任何元素都可以拖动); 用例很简单:

  • 页面上有一个contentEditable div,用作编辑器
  • 用户从当前页面或其他页面或其他浏览器的窗口拖放一些HTML(因此实际上没有任何"源"对象的概念:源可以来自浏览器外部)
  • 我需要通知内容已被删除到contentEditable div中,以便我可以对其进行操作(清理它)

我可以轮询div来看看那里有什么东西不干净,但是它很贵而且"丑陋"; 肯定有一个事件会在发生跌落时触发......?

javascript events drag-and-drop contenteditable

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

图像处理/超轻OCR

我有55000个图像文件(JPG和TIFF格式),这些图像来自一本书.

每个页面的结构是这样的:

一些文字

---(水平线)---

一个号码

一些文字

---(水平线)---

另一个号码

一些文字

在任何给定页面上可以有0到4条水平线.

我需要找到数字,在水平线下方.

但是,数字严格遵循,从第一页开始,所以为了找到数字,我不需要阅读它:我只能检测水平线的存在,这应该比更容易和更安全.试图OCR页面来检测数字.

该算法基本上是:

for each image
  count horizontal lines
  print image name, number of horizontal lines
  next image
Run Code Online (Sandbox Code Playgroud)

问题是:什么是最好的图像库/语言来做"计数水平线"部分?

ocr image-processing

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