oojeoo
小狐狸
小狐狸
  • UID26532
  • 注册日期2008-10-04
  • 最后登录2009-08-19
  • 发帖数25
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:2652回复:4

Greasemonkey如何覆盖原方法

楼主#
更多 发布于:2009-02-27 17:07
原网页内有一个addFlash()方法,该方法在网页载入里就开始调用。
请问Greasemonkey如何修改该方法,使网页在使用该方法时,能做一些我自己的事?
使用[深入浅出 Greasemonkey]的4.22. 覆盖内建的 Javascript 方法 ,无效。
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
1楼#
发布于:2009-02-27 17:07
用unsafeWindow.调用
oojeoo
小狐狸
小狐狸
  • UID26532
  • 注册日期2008-10-04
  • 最后登录2009-08-19
  • 发帖数25
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2009-02-27 17:07
addFlash方法代码为
function addFlash(url,w,h){

document.write('<embed type="application/x-shockwave-flash" src="http://static.youku.com/v1.0.0281/v/swf/qplayer.swf" id="movie_player" name="movie_player" bgcolor="#FFFFFF" quality="high" allowfullscreen="true" flashvars="isShowRelatedVideo=false&showAd=0&show_pre=1&show_next=1&VideoIDS='+url+'&isAutoPlay=true&isDebug=false&UserID=&winType=interior&playMovie=true&MMControl=false&MMout=false&RecordCode=1001,1002,1003,1004,1005,1006,2001,3001,3002,3003,3004,3005,3007,3008,9999" pluginspage="http://www.macromedia.com/go/getflashplayer" width="'+w+'" height="'+h+'">');

}

添加
unsafeWindow.addFlash = function(){alert("!")};

alert("!")不执行
请问为什么
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
3楼#
发布于:2009-02-27 17:07
也許這個方法在greasemonkey加載之前已經被調用過了。 試試自己寫代碼調用這個方法看行不行?
wushi777
非常火狐
非常火狐
  • UID12365
  • 注册日期2006-04-17
  • 最后登录2011-04-13
  • 发帖数817
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
4楼#
发布于:2009-02-27 17:07
有興趣可以看看這里:
http://wiki.greasespot.net/UnsafeWindow
游客

返回顶部