为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/5560843.html

以前利用webqq的写过一个自动发消息的脚本,由于那时webqq还直接使用类似jQuery操作DOM的技术,所以脚本很简单就可以实现。

现如今很多web应用都开始使用AngularJS,MVVM导致的就是无法操作dom而去直接改变数据。所以面对网页版微信,要实现一个自动发送的脚本,就无法再用以前那套DOM的思路了。


要修改AngularJS中的数据,首先就要获取scope。其实获取scope的方法很简单。

由于大部分Angular项目需要使用jQuery作为补充。可以在jQuery中通过.scope()方法获取当前选择器内容里继承的域。

即类似这样的方式:

$('div[ng-controller="listController"]').scope();

例:完整的例子。

<!DOCTYPE html>
<html lang="en" ng-app="app">
<head><meta charset="UTF-8"><title>Get angular's scope in jQuery</title><script src="http://cdn.bootcss.com/jquery/2.1.4/jquery.js"></script><script src="http://cdn.bootcss.com/angular.js/1.4.3/angular.js"></script><script>angular.module('app',[]).controller('listController',['$scope', function ($scope) {$scope.list = [1,2,3,4,5];$scope.test = function () {console.log('test');}}])</script><script>$(document).on('ready', function () {var controllerScope = $('div[ng-controller="listController"]').scope();  // Get controller's scope
            controllerScope.test(); // log 'test'
            console.log(controllerScope.list); // log [1,2,3,4,5]
            $('button').click(function (e) {var scope = $(e.target).scope();console.log(scope.item) // log item number
                scope.test(); // log 'test'
            })})</script>
</head>
<body>
<div ng-controller="listController"><ul><li ng-repeat="item in list"><button>Select {{item}}</button></li></ul>
</div>
</body>
</html>

那么打开网页版微信的页面(2016-06-05)选中你需要发消息的人。然后执行如下脚本:

var controllerScope = $('div[ng-controller="chatSenderController"]').scope();    // 获取chatSenderController的$scope
controllerScope.editAreaCtn = "星哥,下午好";    // 设置需要发送的消息。即设置$scope某个属性的值。//  触发“发送按钮”的点击事件。
$(".action a").trigger("click");

非常好的“外挂方式”。

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/5560843.html

转载于:https://www.cnblogs.com/shijiaqi1066/p/5560843.html

在AngularJS的controller外部直接获取$scope相关推荐

  1. angularJS的controller之间如何正确的通信

    AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为. 当我们在创建新的控制器时,angularJ ...

  2. AngularJS控制器(Controller)

    AngularJS应用主要依赖于控制器来控制数据在应用程序中的流动.控制器采用ng-controller指令定义.控制器是一个包含属性/属性和JavaScript对象的功能.每个控制器接受$scope ...

  3. angularjs控制器controller

    不要视图去复用Controller,一个控制器一般只负责一小块视图 不要在Controller中操作DOM,这不是控制器的职责 不要在Controller里面做数据格式化,ng有很好用的表单控件 不要 ...

  4. angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

    本教程使用AngularJs版本:1.5.3 摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一.它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR ...

  5. AngularJS 深入理解 $scope 转载▼

    AngularJS 深入理解 $scope 转载▼ (2015-04-07 14:09:50) $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的 ...

  6. Angularjs Controller 间通信机制

    在Angularjs开发一些经验总结随笔中提到我们需要按照业务却分angular controller,避免过大无所不能的上帝controller,我们把controller分离开了,但是有时候我们需 ...

  7. AngularJS控制器中的#39;this#39;与$ scope

    本文翻译自:'this' vs $scope in AngularJS controllers In the "Create Components" section of Angu ...

  8. [AngularJS] Reusable directive, require from parent controller

    Glorious Directives for Our Navigation NoteWrangler navigation has now been broken into two parts: t ...

  9. AngularJs中的directives(指令part1)

    一.指令的职责   指令的职责是修改DOM结构,并将作用域和DOM连接起来.即指令既要操作DOM,将作用域内的数据绑定到DOM节点上,又要为DOM绑定事件调用作用域内的对应的方法. 二.创建自定义指令 ...

最新文章

  1. 关于ExtJS3.0组件连接http://extjs.com/s.gif的问题
  2. Redis三种特殊数据类型
  3. 华为mstp多生成树配置_【交换机】交换机如何配置MSTP(多实例生成树协议)
  4. SAP Spartacus HTTP拦截器Interceptor
  5. Spring Boot笔记-新增嵌入式tomcat配置(修改tomcat中conf/server.xml)
  6. 文本预处理之判断是否包含非法字符或非英文字符(Java)
  7. oracle存储过程中数组的使用
  8. 鹅厂算法大神干货实录,初赛通关“秘籍”还不赶快来GET!
  9. javascript 高级编程系列 - 创建对象
  10. python 调用文件传参_Python读取ini配置文件传参的简单示例
  11. LTE无线网络规划的四大要点
  12. mybatis使用generator生成器生成entity,mapper,xml模版类及自己写sql情况处理
  13. 贝尔曼方程怎么解_哈密顿-雅可比-贝尔曼方程
  14. vm虚拟机输入法_VM虚拟机中fedora28 无法使用中文输入法问题
  15. 正则匹配两个字符之间的字符串
  16. 计算机考研只考一门“软件工程”的院校汇总
  17. 网工必须了解的华为华三设备基础命令行与WEB界面
  18. leeetcode77 组合
  19. 请写下你的烦恼——读《解忧杂货店》有感
  20. ios开发——AirPlay的琢磨经历

热门文章

  1. go json 自定义_Go语言Echo Web框架9-日志
  2. 2、IDEA以新窗口的形式打开多个项目
  3. 网络知识:DNS 访问原理详解
  4. SQL Server 数据库部分常用语句小结
  5. python excel模板 插件_python脚本——自动推送txt,EXCEL等文件模板
  6. 华为新出的鸿蒙,华为发出新计划:2021年完成3亿鸿蒙用户,你会给你手机尝试吗...
  7. AND、OR运算符的组合使用
  8. Android 第六课 4种基本布局之LinearLayout和Relativelayout
  9. 视觉感知_产品设计中的视觉感知
  10. CSSyphus:烦躁不安的烦恼设计指南。