标签: krl

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

迭代函数中的数组

对于我的Google Docs电子表格模块,我想要一个能够接受值数组并迭代它们的函数,将它们添加到散列中.电子表格提交表单需要采用以下格式的值:

{"entry.0.single": value0,
 "entry.1.single": value1,
 "entry.2.single": value2}
Run Code Online (Sandbox Code Playgroud)

如果函数接受如下所示的数组,

[value0, value1, value2]
Run Code Online (Sandbox Code Playgroud)

是否有可能循环它们,保持运行计数器,并创建一个哈希?这在其他语言中是一项简单的任务.Python足以说明:

hash = dict()
i = 0
for val in values:
  hash["entry.%s.single" % i] = val
  i += 1
Run Code Online (Sandbox Code Playgroud)

可以用KRL完成吗?

krl

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

如何在与Twilio的一个电话中使用多个Kynetx应用程序?

我希望能够在一个电话中使用多个Kynetx应用程序(规则集).假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能.如何从一个重定向到另一个?

twilio krl

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

KRL:我可以发送一封电子邮件:forward()吗?

我正在尝试从我的Kynetx扩展程序发送电子邮件.作为测试运行,我设置了这个规则:

 rule first_rule {
    select when pageview ".*"    
    email:forward() with
    to = "me@example.com" and
    message = "Testing Kynetx Mail" and
    htmlmessage = "<html><body><p>Jed has html</p></body></html>";
    notify("Testing", "email sent");
  }
Run Code Online (Sandbox Code Playgroud)

通知显示,但我从未看到电子邮件,甚至在我的垃圾邮件过滤器中也没有.也许电子邮件:forward()只能在上下文中使用

select when mail received
Run Code Online (Sandbox Code Playgroud)

作为替代方案,我想我可以使用类似PostMark的服务之一,也可以使用SNS(http://wiki.kynetx.com/pages/Kynetx_Network_Services_ (KNS)_API#SNS_Endpoint ).我只是觉得把它全部保存在Kynetx中真好.

krl

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

在另一个规则集中引发事件

我正与另一位开发人员合作开发大型Kynetx应用程序.为了更容易拆分工作,我希望有多个规则集,这样我们就可以单独处理它们而不会踩到彼此的脚趾.

有没有办法在另一个规则集中引发事件(显式或其他)?在后缀中有这样的事情:

raise explicit event next_section in a163x50
Run Code Online (Sandbox Code Playgroud)

我知道可以在浏览器中使用JavaScript,但我想从服务器端的KRL执行此操作.

krl

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

在twitter.com上删除J和K键事件

我构建了一个扩展twitter.com的浏览器扩展.它打开一个jQuery UI模式窗口,并有一些文本输入.当我输入这些输入时,除J键和K键外,它都有效.这些键是一些自定义Twitter事件的一部分(在推文之间滚动).除了那两个,我可以获得所有键以实际键入框中的字母.

我想知道如何取消绑定keypress这两个键的东西,以便我可以输入这两个字母.关于如何解开它们的任何想法?我已经尝试捕获事件并阻止它的默认...没有帮助.我抓住它并返回真/假,也没有帮助.请告诉我.

javascript krl

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

使用jsonPath查找字符串

我正在尝试使用jsonPath和pick函数来确定是否需要根据当前域运行规则.我正在做的简化版本是:

    global 
{
    dataset shopscotchMerchants <- "https://s3.amazonaws.com/app-files/dev/merchantJson.json" cachable for 2 seconds
}

rule checkdataset is active
{
    select when pageview ".*" setting ()
    pre
    {
        merchantData = shopscotchMerchants.pick("$.merchants[?(@.merchant=='Telefora')]");
    }
    emit 
    <|
        console.log(merchantData);
    |>
}
Run Code Online (Sandbox Code Playgroud)

我期望的控制台输出是telefora对象,而是从json文件中获取所有三个对象.

如果不是商家=='Telefora'我使用merchantID == 16那么它的效果很好.我认为jsonPath也可以匹配字符串.虽然上面的例子没有搜索json的merchantDomain部分,但我遇到了同样的问题.

jsonpath krl

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

KRL:在emit块中使用defaction参数

我尝试在用户定义的操作中使用emit块中的参数,如下所示:

my_action = defaction(css_class) {
    emit <| $K(css_class).append("<span>!!</span>"); |>
}
Run Code Online (Sandbox Code Playgroud)

但是当它运行时,你会看到一个控制台消息"css_class未定义".

如何设置参数以便我可以在'emit'块中使用它?

krl

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

为什么在addons.mozilla.org或chrome.google.com/extensions上没有Kynetx浏览器应用程序?

在addons.mozilla.org或chrome.google.com/extensions上发布Kynetx浏览器应用程序是否有任何限制,这解释了为什么没有可用的kynetx应用程序?

当我搜索"Kynetx"时,我得到0结果.

https://addons.mozilla.org/en-US/firefox/search/?q=kynetx&cat=all&x=0&y=0

https://chrome.google.com/extensions/search?itemlang=&hl=en&q=kynetx

当我搜索PeerIndex,HoverMe,TwiKlout,YouTube刷新时,结果也是0 ...

krl

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

处理KRL的响应

我正在使用KRL通过他们的API向谷歌发送请求,这是我从他们那里得到的字面回复:

handleResponse({ "data": { "responses": [ { "response": "successful" } ] } } );
Run Code Online (Sandbox Code Playgroud)

你如何建议我通过选择处理这个,因为它不是'有效的'JSON语法?它包含有效的JSON语法,但整体上无效.谢谢你的帮助.

krl

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

使用正则表达式和KRL的替换方法解析url

我想获取当前页面的URL(使用page:env("caller"))并提取其中的一部分.

例如,我想采取

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cats
Run Code Online (Sandbox Code Playgroud)

并指派

cats
Run Code Online (Sandbox Code Playgroud)

变量.

我如何用KRL做到这一点?

我试过了

url = page:env("caller");
query = url.replace("http://www\.google\.com/search\?sourceid=chrome&ie=UTF-8&q=", "");
Run Code Online (Sandbox Code Playgroud)

但它只是将整个页面:env("调用者")分配给变量查询(例如http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cats).

编辑:jQuery解决方案也很有可能.

编辑2:@JAM -

您发布的select语句似乎不起作用.我在http://www.google.com/search?q=cats上对其进行了测试,但它没有触发.不确定网址是否与网页浏览不匹配(看起来它应该与我匹配).

我把它放入的应用程序:

ruleset a835x36 {
  meta {
    name "regex testing2"
    description <<
 >>
author ""
logging on
}

rule get_query {
    select when pageview "http://www.google.com/search.*(?:&|?)q=(\w+)(?:&|$)"    setting(query) 
      notify("Query",query) with sticky = true;
   }
}
Run Code Online (Sandbox Code Playgroud)

另外,我在寻找一个更强大的方式来获得在查询,因为谷歌有很多方法可以在搜索结果页面上的土地使用URL不会像http://www.google.com/search?q =猫.例如,去谷歌和搜索猫只是给了http://www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=cats&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx= 1&fp = 8ac6b4cea9b27ecb作为结果的URL.我想我可以用正则表达式解析任何东西,但是...

regex krl

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

如何在KRL规则中获取用户位置?

如何在KRL规则中获取用户位置?

  • 方法是什么?
  • 使用该方法的优点或缺点是什么?

geolocation krl

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

从KRL闭包之外调用KRL中定义的javascript函数

我正在我的KRL全局块中定义一个Javascript函数,我想在用户单击链接时调用该函数.以下是规则集的相关部分:

global {
  emit <|
    function clear_hold() {
      app = KOBJ.get_application("a421x26");
      app.raiseEvent("clear_hold");
    }

  |>;
}

rule add_link_to_clear_hold {
  select when pageview ".*"
  pre {
    clear_div = << <div id="clear_hold">
      <a href="javascript:clear_hold()">Clear Hold</a>
      </div> >>;
  }
  {
    append("body", clear_div);
  }

rule clear_the_hold {
  select when web clear_hold
  {
    replace_html("#clear_link", "<div id='clear_link'>Not on hold</div>");
  }
  always {
    clear ent:hold;
  }
}
Run Code Online (Sandbox Code Playgroud)

当我单击链接时,我收到一条clear_link未定义的错误消息.

调用我的javascript函数需要做什么?

krl

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

标签 统计

krl ×13

twilio ×2

geolocation ×1

javascript ×1

jsonpath ×1

regex ×1