电报:使用angularJS指令[Tampermonkey]

时间:2016-10-20 01:41:43

标签: angular angularjs-directive userscripts telegram tampermonkey

我正在尝试更改/推进电报网络应用程序的设计(https://web.telegram.org)。

根据我的需要,表情符号/贴纸部分只是很小,我想为它创建一个新的div框,并可能通过tampermonkey usercript为它添加一个搜索选项。

我的问题是,我没有进入AngularJS,我正在努力解决这些问题。我在应用程序的代码中找到了部分,但我想知道如何访问它。重要的部分从这里开始:Sticker Directive

我已经取得的成就:

  • 使用ID
  • 获取所有类别的贴纸及其贴纸
  • 创建一个新框,其中所有框都列在我的首选设计中

预览 enter image description here

(最右边的图片只显示,因为我使用自己的技术来获取图片。不幸的是,这只有当客户已经在接收/发送的消息中看到贴纸时才有效)

我缺少什么:

  • 获取src-attribute
  • 的图像位置
  • 在图片中添加点击监听器,将其添加到消息
  • 首选:只是复制标准贴纸盒的行为

问题在于,只有在标准贴纸盒的预览容器中显示图像时,应用才会加载图像。

当它们不可见时,只有没有图像的链接,如下所示:

<a class="composer_sticker_btn" data-sticker="677815138606121208"></a>

当贴纸滚动到预览中时,它会变成如下:

<a class="composer_sticker_btn" data-sticker="677815138606121208" my-load-sticker="" document="document" thumb="true" img-class="composer_sticker_image">
    <img class="composer_sticker_image" alt="[ Sticker]" src="filesystem:https://web.telegram.org/temporary/225538627_21169_7021113544866120056.webp">
</a>

执行此操作的指令在此处编写Sticker Directive

因此... TL; DR

我想将贴纸从标准贴纸盒重新排列成新的定制贴纸。如何将标准框的行为(加载图像/添加单击侦听器)复制到我的自定义框?我想这将是最简单的方法。

如果不可能:如何通过用户脚本执行angularJS指令中的函数?

提前致谢。

0 个答案:

没有答案