如何将Javascript注入网站,然后确保它's跨浏览器兼容
How can I inject Javascript into a site, then make sure it's cross-browser compatible?
我正在做一些合同工作,我需要为客户端站点编写Javascript的小片段,然后确保它们在所有浏览器中都能工作。
我自己无法访问网站的服务器,所以我需要能够以其他方式注入片段。
我尝试用PHP编写一个代理脚本,它可以获取网站的源代码,绝对化所有URL,然后注入Javascript,适用于一些客户端网站(并且具有在多个浏览器中易于测试的优势)。
但一些使用Javascript的网站无法使用这种方法——它们会测试window.location以确保它不会被欺骗,或者会包含对本地服务器上代理脚本无法过滤的文件的引用。
作为替代方案,我想我可以使用Greasemonkey来注入Javascript。。。这会让我看到代码在Firefox中的外观,但我如何在IE6中进行测试?
当你无法访问Javascript最终所在的网站时,有人能提出一种跨浏览器开发Javascript的方法吗?
您可以使用bookmarklet通过注入script
标记来插入JavaScript。
代码本身看起来像这样:
(function() {
var d = document,
s = d.createElement('script'),
t = d.body || d.getElementsByTagName('head')[0] || d.documentElement;
s.src = "http://path/to/your/script.js";
t.appendChild(s);
})();
然后只需将其添加书签即可(搜索"bookmarklet maker",你会发现一堆可以为你做这项工作)。将结果添加书签,访问要测试的页面,然后单击书签进行测试。
例如:
javascript:(function(){%28function%28%29%20%7Bvar%20d%20%3D%20document%2Cs%20%3D%20d.createElement%28%27script%27%29%2Ct%20%3D%20d.body%20%7C%7C%20d.getElementsByTagName%28%27head%27%29%5B0%5D%20%7C%7C%20d.documentElement%3Bs.src%20%3D%20%22http%3A//jsbin.com/ajubo4%22%3Bt.appendChild%28s%29%3B%7D%29%28%29%3B})();
如果你将其复制到书签的URL中,当你在任何主要浏览器上激活书签时,它都会从中加载一个简单的脚本http://jsbin.com(您可以在这里找到),它会发出警报,告诉您页面上有多少p
元素。(目前,本页共有23页。)
一个快速而简单的解决方案是使用Privoxy。
您可以尝试将jQuery与hugoware的jsShell插件一起使用。然后,您可以使用chrome将jQuery应用于已加载的页面。jQuery应该是跨浏览器兼容的。
http://hugoware.net/projects/jsshell
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 有时数据是't显示在浏览器中
- 使图像在单击时展开到不大于浏览器
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- Amd,希望确保某个东西总是最后执行
- 如何确保在浏览我的plone网站时始终启用浏览器中的javascript
- 确保浏览器 AS3 支持限制
- 如何确保包含多个$.ajax调用的函数完全同步运行,并允许在执行时重新绘制浏览器
- 如何确保浏览器在更新后加载文件的最新版本
- 请确保浏览器将下载一个文件,而不是打开它
- 如何确保在Firefox桌面浏览器中启用触摸事件
- 如何确保只有一个alert();在浏览器无人值守时调用
- 如何将Javascript注入网站,然后确保它's跨浏览器兼容
- Web前端框架&确保了跨浏览器兼容性
- 如何确保浏览器能够支持**{get X(){}}**
- 如何确保javascript单页应用程序只能在单个浏览器选项卡上执行
- 测试URL是否可以从web浏览器访问,即确保没有被代理服务器阻止
- 确保javascript在ASP的浏览器中缓存..NET MVC应用