(Adobe Acrobat)在javascript搜索查询中排除搜索栏内容搜索
问题描述:
我有一个内置inDesign的Adobe Interactive PDF。(Adobe Acrobat)在javascript搜索查询中排除搜索栏内容搜索
该文档有一个搜索栏,用于搜索文档,它成功执行。
问题:搜索结果中包含搜索栏的内容。由于搜索栏位于每个页面上,因此会导致大量任意搜索结果。
示例:搜索“hello”会在每个单页上的搜索栏中显示“hello”的所有实例以及“hello”的实例。
我运行JavaScript的搜索查询是目前:
var textToSearch = this.getField("search1").valueAsString;
if (textToSearch!="") search.query(textToSearch, "ActiveDoc");
我想从我的搜索中排除的搜索栏的内容,如何最好地执行?
编辑:取代“search1”带空白字符串的字段,现在搜索字段不包含在搜索结果中。但我怎么用“Doc.delay”并写上“textToSearch”回“搜索1”现场
更新的代码:
var textToSearch = this.getField("search1").valueAsString;
var eraseStr = this.getField("search1").value ="";
if (textToSearch!="") search.query(textToSearch, "ActiveDoc");
答
你需要的字段值设置为空字符串( “”)执行搜索之前,因为您无法精确控制将在PDF中搜索的内容。但是,在获取textToSearch的值之后,并在将字段值设置为空白之前,可以将Doc.delay属性设置为true。这将防止字段外观重绘,直到您将其设置为false。然后,在执行搜索之后,将字段值重新设置为textToSearch,将Doc.delay属性设置为false,并且希望...用户看起来没有任何更改。
感谢您的洞察力,我知道如何在执行搜索之前将字段值替换为空字符串。幸运的是,搜索栏的结果被替换为空字符串,并且不包含在搜索结果中。不过,我很困惑如何将textToSearch写回到“search1”中。您是否会详细说明“将Doc.delay属性设置为true”我知道如何将延迟设置为true,但在这种情况下将调用的是ActiveDoc? “Doc”在哪里定义?非常感谢你 –
在这个回应中,代码可能会有点不可思议,但是这里有...要设置字段的值,使用 - this.getField(“search1”)。valueAsString = textToSearch; - 要设置延迟属性,在通用上下文中使用“this”,这是当前文档,因此它将是 - this.delay = true; - 或 - this.delay = false; – joelgeraci