我使用聊天,并且我想更改消息的显示方式,所以我希望能够忽略其中的一些消息。
问题是,这个聊天使用了一个iframe,其中显示了信息(msgs,left,joined),但它从来没有加载过(它总是在上面添加html )。
我想使用greasemonkey来更改传入的信息,但我不能,因为iframe永远不会完成加载,我只能在按下浏览器上的停止按钮时才能更改它。
我想隐藏iframe,过滤器,并获得其他iframe (我自己的)与信息过滤。这个是可能的吗?
发布于 2012-03-28 06:44:30
您可以隐藏原始iframe,并在页面加载时注入您自己的iframe,并为新帖子添加一个侦听器。并将过滤后的新帖子添加到您自己的注入iframe中。
我不得不为我为SO chat创建的插件做一些类似的事情。我最终使用了一个有攻击性的听众。类似于:
function PostListener() {
var self = this;
this.listen = function() {
// check for new messages in hidden iframe and do stuff you want to do with them
setTimeout(self.listen, 1000);
};
}
(function() {
var postListener = new PostListener();
postListener.listen();
})();它基本上每1秒检查一次新消息。这是我第一次尝试,因为我认为没有可用的DOMlisteners。
然而,在a question of mine中,似乎实际上存在一个DOM侦听器。我仍然需要实现它,所以我不知道它的浏览器支持,但它值得一试(或者你必须等到我实现它;)。
https://stackoverflow.com/questions/9898710
复制相似问题