【问题标题】:a program that finds a function on a javascript webpage and run that in a loop [closed]一个在javascript网页上找到一个函数并循环运行的程序[关闭]
【发布时间】:2013-08-03 11:40:35
【问题描述】:

所以我正在尝试编写一个程序,在网页中找到一个 java 脚本函数(该页面是用 java 脚本编写的)和一个运行该函数直到用户按下按钮的循环。

我认为编写此代码的最佳方式是附加组件,以便它可以对浏览器进行必要的访问。

它必须由两部分组成,首先是块查找器,类似于 AdBlockPlus 中的简单过滤器或 AdBlock+ 中的块元素,它可以找到 java 脚本函数;然后是一个函数,它重复运行它在第一步中找到的 java 脚本函数,延迟 500 毫秒,直到用户告诉它停止,可能使用特定的键。

我知道将军,但我不知道如何开始。而且我只知道如何用 C++ 编程。 我并不着急,我有 20 天的时间,但这还不足以进行反复试验,所以我不得不问你们这些问题。

我的问题是:

甚至可以用这种算法编写代码吗?

我应该选择哪种浏览器来编写这个插件?

编写此插件需要学习什么?

【问题讨论】:

  • 如何包含该 .js 文件并相应地使用该功能?例如。

标签: javascript google-chrome-extension firefox-addon firefox-addon-sdk add-on


【解决方案1】:

要编写 Chrome 扩展程序,您确实需要了解 javascript,因为所有活动部分都将使用 javascript 编写。您还必须了解 html 和 css。

为了获得良好的起点,您应该查看google-chrome-extensions tag 的信息选项卡。

您可以在那里找到大量信息来帮助您入门。

对于 Firefox 扩展,您可以创建基于 xul 的扩展,也可以使用新的 addon-sdk。您可以看到一个带有比较的图表here

在这两个方面你也必须了解 javascript。

关于您使用的浏览器,我真的无法为您选择,但我希望我给了您足够的信息让您自己选择。

【讨论】:

    【解决方案2】:

    好的,如果你想创建一个每 500 毫秒执行一次的函数,你可以使用这个 HTML:

    <BODY onload="time()"> ...
    

    还有这个 JavaScript:

    timer = null;
    
    function time() {
        check();
        window.setTimeout("check();", 500);
    }
    
    function check() {
        //do something
    }
    

    要停止循环,请使用

    <A ... onclick="window.clearTimeout(timer); return false"> ... </A>
    

    【讨论】:

    • 谢谢,但我不是要代码。我想我刚刚开始学习如何为 chrome 编写插件。我仍然不知道是我应该学习javascript还是学习html来编写插件就足够了?!
    • @user2100555 要停止循环,您必须将代码修复为:timer = window.setTimeout(check, 500);,当您需要清除它时,您必须编写clearTimeout(timer); 超时只运行一次。而setInterval 将在每个 nms 后重复
    • @NULL 是的,愚蠢的我!错误已修复。我以前从未见过setInterval...
    • @Arwen 如果您想这样做,您需要学习一些编程语言,因为 HTML 仅用于显示您的页面。对于 Chrome 插件,最好使用 JavaScript。
    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2013-03-04
    • 2016-01-29
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多