是否有可能在控制台中始终提供google-chrome中的自定义功能(无论加载哪个页面)?例如,我想有一个名为echo的函数,它只是console.log的一个包装。这只是节省了一些输入,但后来我可能想创建一些有用的调试功能。将自定义功能添加到Chrome控制台中
14
A
回答
16
那么这很容易完成。你需要的是创建一个content script。该脚本将被注入到任何页面中,并创建一些必要的全局函数,您可以在控制台中使用它们。最具挑战性的部分是如何使这些自定义内容scrtip函数成为您实际的window
对象的一部分,因为通常您不能从内容中的其他javascript代码访问您在内容脚本中定义的函数或变量脚本。内容脚本运行在所谓的隔离环境中。
内容脚本在称为孤立世界的特殊环境中执行。他们可以访问他们注入的页面的DOM,但不能访问页面创建的任何JavaScript变量或函数。它会查看每个内容脚本,就好像其上运行的页面上没有执行其他JavaScript一样。反过来也是如此:页面上运行的JavaScript不能调用任何函数或访问由内容脚本定义的任何变量。
但有一种奇特的解决方法。
定义您的清单文件,如下所示:
manifest.json的
{
"name": "Content script",
"version": "0.1",
"manifest_version": 2,
"content_scripts": [{
"matches": ["http://*/*"],
"js": ["console.js"]
}]
}
和内容脚本:
console.js
function customConsole() {
window.myNewFunction = function() {
console.log("Hello I'm available from console.");
};
}
var script = document.createElement('script'),
code = document.createTextNode('(' + customConsole + ')();');
script.appendChild(code);
(document.body || document.head || document.documentElement).appendChild(script);
所以您指定你的新功能就像全球功能一样你可以在console
中使用它们。
也看看这个post
+2
你和铬岩!这真的很简单。我可以回应(“hello world!”);在五分钟内:)。 – clime 2012-01-29 08:18:05
相关问题
- 1. 将自定义点击事件绑定到Chrome控制台上
- 2. 自定义功能添加到
- 3. 添加自定义ViewLocator到控制器
- 4. 将列功能添加到自定义中继器
- 5. PyQt4:将QtMessageBox.information功能添加到自定义窗口中
- 6. 将自定义控件添加到DataGridViewCell
- 7. 将自定义控件添加到MoviePlayer
- 8. 将控制台添加到Jframe中
- 9. 将滑动功能添加到自定义锁定屏幕
- 10. 添加将功能添加到现有自定义航点功能中的功能
- 11. 将自定义日志位置添加到OS X控制台应用程序
- 12. .NET自定义控制台
- 13. 自动将Chrome控制台切换到特定的框架
- 14. jQuery:将鼠标事件添加到自定义点击功能
- 15. 将自定义悬停功能添加到jQuery小部件
- 16. 如何将自定义功能添加到我的CKEditor插件?
- 17. 将MSO图库命令添加到自定义PowerPoint功能区
- 18. 将自定义功能添加到频道
- 19. 如何将自定义排序功能添加到jQuery网格?
- 20. Chrome开发控制台中的自定义对象检测
- 21. 将滚动条添加到控制台
- 22. 将GUI添加到C++ win32控制台
- 23. 无法将自定义视图控制器添加到UIScrollVIew
- 24. 将导航控制器添加到自定义表格视图
- 25. Laravel将自定义方法添加到资源控制器
- 26. 将自定义属性添加到常见控制问题
- 27. 将控制权添加到自定义基页
- 28. 将自定义的基于URL的控制器添加到WordPress
- 29. 将自定义按钮添加到导航控制器
- 30. 将自定义视图控制器添加到故事板
也许你可以创建一个插件。控制台相对于当前页面工作,所以它应该是可行的。 – Blender 2012-01-29 05:45:49
感谢您指向插件的方向。让我们看看我是否“足够慵懒”,真正为那个包装做一个... – clime 2012-01-29 06:20:15