我需要将一些 JavaScript 注入现有的应用程序。
该应用程序通常嵌入iframe
这样的:
<html>
<body>
<iframe src="http://webchat.quakenet.org/" width="647" height="400"></iframe>
</body>
</html>
它是一个基于 JavaScript 的开源 IRC 客户端http://webchat.quakenet.org/(来源)。
现在我喜欢注入一些 JS 来突出显示特殊消息,例如。为此,我已经找到要覆盖的HilighterClass。
问题是,我怎么能这样做?iFrame
我猜现代浏览器不“允许”将 JS 注入到 an中,或者?
如果这iFrame
是一个问题,也许我可以像他们一样添加客户端:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<base />
<title>QuakeNet Web IRC (qwebirc)</title>
...
<script type="text/javascript">
var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.QUI, {"appTitle":"QuakeNet Web IRC","dynamicBaseURL":"/dynamic/leibniz/","baseURL":"http://webchat.quakenet.org/","validateNickname":false,"networkServices":["Q!TheQBot@CServe.quakenet.org"],"nickValidation": {"maxLen":15,"validSubChars":"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_[]{}`^\\|0123456789-","validFirstChar":"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_[]{}`^\\|","minLen":2},"staticBaseURL":"/static/leibniz/","loginRegex":"^You are now logged in as [^ ]+\\.$","networkName":"QuakeNet"});
</script>
</head>
<body>
<div id="ircui">
<noscript>
<div id="noscript">Javascript is required to use IRC.</div>
</noscript>
</div>
</body>
</html>
要求:
- 客户端应该连接到 quakenet.org 服务器。由于某些跨站点脚本限制,这可能是一个问题。
- 如果我的用户不需要其他插件,那最好。