📄 mgjs_history.cpp
字号:
#include "mgjs_main.h"static JSBool GetHistoryProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp);static JSBool SetHistoryProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp);static JSBool HistoryBack (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);static JSBool HistoryForward (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);static JSBool HistoryGo (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);static JSBool HistoryItem (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval); enum History_slots { HISTORY_LENGTH , HISTORY_CURRENT, HISTORY_PREVIOUS , HISTORY_NEXT};static JSBool GetHistoryProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp){ if (JSVAL_IS_INT(id)) { switch (JSVAL_TO_INT(id)) { case HISTORY_LENGTH : break; case HISTORY_CURRENT: break; case HISTORY_PREVIOUS : break; case HISTORY_NEXT : break; } } return JS_TRUE;}static JSBool SetHistoryProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp){ if (JSVAL_IS_INT(id)) { switch (JSVAL_TO_INT(id)) { case HISTORY_LENGTH : break; case HISTORY_CURRENT: break; case HISTORY_PREVIOUS : break; case HISTORY_NEXT : break; } } return JS_TRUE;}static JSBool HistoryBack (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){ return JS_TRUE;}static JSBool HistoryForward (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){ return JS_TRUE;}static JSBool HistoryGo (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){ return JS_TRUE;}static JSBool HistoryItem (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){ return JS_TRUE;}static JSPropertySpec HistoryProperties[] ={ {"length", HISTORY_LENGTH, JSPROP_ENUMERATE | JSPROP_READONLY}, {"current", HISTORY_CURRENT, JSPROP_ENUMERATE | JSPROP_READONLY}, {"previous", HISTORY_PREVIOUS, JSPROP_ENUMERATE | JSPROP_READONLY}, {"next", HISTORY_NEXT, JSPROP_ENUMERATE | JSPROP_READONLY}, {0}};JSClass HistoryClass = { "History", JSCLASS_HAS_PRIVATE , JS_PropertyStub, JS_PropertyStub, GetHistoryProperty, SetHistoryProperty, JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub };//// History class methods//static JSFunctionSpec HistoryMethods[] = { {"back", HistoryBack, 0}, {"forward", HistoryForward, 0}, {"go", HistoryGo, 0}, {"item", HistoryItem, 1}, {0}};JSObject* InitHistoryClass(JSContext *cx,JSObject *globalObj,JSObject *pObj){ JSObject *Obj; Obj = JS_DefineObject (cx,globalObj, "History", &HistoryClass,0,JSPROP_ENUMERATE); JS_DefineProperties (cx,Obj,HistoryProperties); JS_DefineFunctions (cx,Obj,HistoryMethods); return Obj;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -