如何增强不应修改源代码的页面的功能?

时间:2010-02-08 08:14:36

标签: javascript jquery greasemonkey

我的一位朋友使用网络应用程序进行工作相关的目的。 该应用程序是使用PHP / MySQL构建的,虽然它有一些JavaScript可以让它更容易使用,但它不够用户友好,并且有一些额外的JS,很多东西都可以实现自动化。

我想要增强该应用程序,但我不想修改原始服务器端代码。要做到这一点,我能想到的只有Greasemonkey。这是唯一的方法,或者我错过了什么?我也希望能够使用现代的JS框架,比如jQuery。

编辑:我应该告诉你我想做些什么改进。页面上有很多字段,因此自动完成功能确实会有很大帮助。这将用于输入数据,因此AJAX也可用于某些错误检查。

2 个答案:

答案 0 :(得分:3)

Greasemonkey当然是一种选择。另一个想法是对您的改进进行编码,然后使用bookmarklets。您的朋友可以使用书签(可能在书签栏中)来完成您所改进的内容。 Bookmarklets可以访问该页面,就好像它们是页面的一部分一样。

编辑1 事实上,现在我考虑一下,书签能够通过添加一个脚本文件(来自不同的来源)加载到文档中script部分的head标记(嗯,或者任何地方,真的)。由于SOP基于文档的来源,而不是脚本,...这样,他只需要按一次按钮(对于任何给定的页面,他去了to)加载你的改进。

编辑2 Yup,可以使用bookmarklet将任何脚本文件引导到页面中;这是一个例子:

javascript:(function(){var%20d=document,db=d.body||d.documentElement,elm;elm=d.createElement('script');elm.src="http://example.com/yourscript.js";db.appendChild(elm);db.removeChild(elm);})();

为文件script添加http://example.com/yourscript.js元素到当前文档的主体,执行它。 (然后bookmarklet删除了script元素;只需添加它就足够了,它不必坚持下去; details。)然后你的脚本可以执行添加其他脚本(jQuery,在你的示例)以相同的方式,启动自动完成程序等。使用Chrome和Firefox测试上述(可能需要调整); IE不喜欢它,但我认为这是我对书签的编码或其他问题而不是根本问题。 (我对bookmarklets比较新。)

答案 1 :(得分:0)

我认为Javascript可以跨帧操纵,不是吗?

难道你不能只在一个框架中创建一个加载原始网站的页面,而在另一个框架中创建js界面的改进吗?

(如果没有得到解决,获得雇主的许可也是一个好主意)