rgb*_*wed 2 javascript facebook
我正在开发一个项目(希望)涉及利用已经内置到Facebook中的一些javascript.但是我马上遇到了障碍,我无法弄清楚是什么__d.
如果你看一下源javascript文件,几乎每个命令都以 __d
例如:
__d("legacy:live-timer",["LiveTimer"],function(a,b,c,d){a.LiveTimer=b('LiveTimer');},3);
Run Code Online (Sandbox Code Playgroud)
但我找不到任何javascript文件中的任何__d实际操作.是不是必须在某处定义所有这些其他功能才能利用它?
更新:
所以,假设有一个像这样的javascript的网站......
function alertSomething(var) {
if (var) alert("Here it is: "+var);
}
if (some condition) alertSomething("something");
Run Code Online (Sandbox Code Playgroud)
现在让我们说我有一个Chrome扩展程序,我可以将自己的Javascript注入页面.无法\我的Chrome扩展程序Javascript有这样的东西......
if (some other condition) alertSomething("something else");
Run Code Online (Sandbox Code Playgroud)
因此,我将利用页面上已存在的JavaScript中的一些代码?
至于,我检查过Facebook JavaScript SDK.我相信它使用依赖注入机制.这是两个网址.
制作:http://connect.facebook.net/en_US/all.js(混淆)
开发:http://connect.facebook.net/en_US/all/debug.js(deobfuscated)
如果你检查debug.js,你可以看到require, __d, __t等等.__d更像是来自RequireJS的定义函数(http://requirejs.org/docs/api.html#define)
__d = function(/*string*/ id, /*array<string>*/ deps, factory,
/*number?*/ _special) {/*TC*/__t([id,'string','id'],[deps,'array<string>','deps'],[_special,'number?','_special']);/*/TC*/
Run Code Online (Sandbox Code Playgroud)
小智 5
该函数是用于定义模块的RequireJS__d API 。
例子:
__d('Example', [], function a(b, c, d, e, f, g, h) {
'use strict';
if (c.__markCompiled) c.__markCompiled();
f.exports = {
a: "Hello World"
};
}, null);
Run Code Online (Sandbox Code Playgroud)
称呼:
require('Example');
Run Code Online (Sandbox Code Playgroud)
输出:
Object {a: "Hello World"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2302 次 |
| 最近记录: |