Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

JavaScriptµ÷ÓÃC++º¯Êý

 ÉÏƪ½éÉÜÁËÓÃC++µ÷ÓÃJavaScript£¬Õâƪ·´¹ýÀ´ËµËµJSµ÷C++£¬ÕâÑùJSºÍC++¹µÍ¨µÄ;¾¶¾ÍÍêÕûÁË¡£
Ê×ÏÈ£¬ÊµÏÖÒ»¸öIDispatch½Ó¿Ú£¬µ±JSµ÷ÓÃC++º¯Êýʱ£¬ÏµÍ³»áµ÷ÓÃGetIDsOfNamesÀ´Óú¯ÊýÃûÈ¡µÃº¯ÊýµÄDISPID£¬È»ºóµ÷ÓÃInvokeÍê³ÉÕæÕýµÄµ÷Óã¬ÐèҪעÒâµÄÊÇInvokeµÄpDispParamsÖеIJÎÊýÊǵ¹ÐòµÄ¡£´úÂëÈçÏ£º
class CExtenalDispatch : public IDispatch
{
public:
CExtenalDispatch()
{
m_dwRef = 0;
}
~CExtenalDispatch()
{
}

STDMETHOD_(ULONG, AddRef)()
{
return InterlockedIncrement(&m_dwRef);
}
STDMETHOD_(ULONG, Release)()
{
unsigned long l = InterlockedDecrement(&m_dwRef);
if(l == 0)
delete this;
return l;
}
STDMETHOD(QueryInterface)(REFIID iid, LPVOID far* ppvObject)
{
HRESULT hrRet = S_OK;
*ppvObject = NULL;
if(IsEqualIID(iid, IID_IDispatch))
*ppvObject = (IDispatch*)this;
else
hrRet = E_NOINTERFACE;
if (S_OK == hrRet)
((IUnknown*)*ppvObject)->AddRef();
return hrRet;
}
STDMETHOD(GetTypeInfoCount)(UINT* pctinfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetTypeInfo)(/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo** ppTInfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetIDsOfNames)(
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId)
{
HRESULT hr = S_OK;
for (int i = 0; i < (int)cNames; i++)
{
CString cszName = rgszNames[i];
if(cszName == L"myfunction")
{
bFind = TRUE;
rgDispId[i] = 1;
break;
}
else
{
// One or more are unknown so set the return code accordingly
hr = ResultfromScode(DISP_E_UNKNOWNNAME);
rgDispId[i] = DISPID_UNKNOWN;
}
}
return hr;
}

STDMETHOD(Invoke)(
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO


Ïà¹ØÎĵµ£º

JavaScriptÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(7): ±Õ°ü

 ±¾²©¿ÍתÔØÓÚ£ºhttp://devbean.javaeye.com/blog/409566
±Õ°üÕâ¸ö¸ÅÄî¿´ÉÏÈ¥ºÜÉî°Â£¬Õâ¸ö´ÊÔÚÀëÉ¢ÊýѧÀïÃæµÄÒâ˼ȷʵ±È½ÏÄÑÓÚÀí½â¡£ÔÚÕâÀÎÒÃÇÏÈ¿ÉÒ԰ѱհüÀí½â³ÉÊÇÒ»ÖÖÄäÃûº¯Êý»òÕßÄäÃûÀà¡£
1. ʲôÊDZհü£¿
ʲôÊDZհü£¿Ò»ÖÖÕýʽµÄ½âÊÍÊÇ£ºËùν±Õ°ü£¬Ö¸µÄÊÇÒ»ÖÖÓµÓкܶà±äÁ¿²¢ÇÒ°ó¶¨ÁËÕâЩ±äÁ¿µÄ»·¾³µÄ±í´ïÊ ......

JavaScriptÓï·¨¼¯½õ£¨¶þ£©

function function xx(){...} ¶¨Ò庯Êý
isNumeric                   ÅжÏÊÇ·ñÊÇÊý×Ö
innerHTML xx=¶ÔÏó.innerHTML ÊäÈëij¶ÔÏó±êÇ©ÖеÄhtmlÔ´´úÂë
innerText divid.innerText=xx ½«ÒÔdiv¶¨Î»ÒÔidÃüÃûµÄ¶ÔÏóÖµÉèΪXX
locati ......

javascriptÖÐparseIntº¯Êý

×¢£ºÔÚÏîÄ¿ÖÐÓöµ½ÀàËƵÄÎÊÌ⣬ͨ¹ýÍøÂç½â¾öÎÊÌâ¡£
parseInt("07") ·µ»Ø¶àÉÙ ?
parseInt("08") ÓÖ·µ»Ø¶àÉÙ ?
ÕýÈ·´ð°¸£º
parseInt("07") ·µ»Ø8
parseInt("08") ·µ»Ø0
ÓÃjavascriptµÄparseIntº¯Êýʱ£¬parseInt("08")»òÕßparseInt("09")·µ»ØµÄ¾ÓÈ»ÊÇ0£¬¶øparseInt("01")...parseInt("07")¶¼ÊÇÕýÈ·µÄ¡£
ΪʲôÕâÑùÄØ£¿
......

תÔØ JavascriptÖÐ×î³£ÓõÄ55¸ö¾­µä¼¼ÇÉ

 1. oncontextmenu="window.event.returnValue=false" ½«³¹µ×ÆÁ±ÎÊó±êÓÒ¼ü
<table border oncontextmenu=return(false)> <td>no </table> ¿ÉÓÃÓÚTable
2. <body onselectstart="return false"> È¡ÏûÑ¡È¡¡¢·ÀÖ¹¸´ÖÆ
3. onpaste="return false" ²»×¼Õ³Ìù
4. oncopy="return false;" onc ......

JavaScriptµÄeval(¡°{JSON object string}¡±)ÎÊÌâ

ÔÚ×öAJAXÓ¦Óÿª·¢µÄʱºò£¬ÎÒÃÇͨ³£Ï²»¶°Ñ·þÎñÆ÷¶Ë·µ»ØµÄJSON¸ñʽ×Ö·û´®ÔÚ¿Í»§¶ËµÄ»Øµ÷º¯ÊýÖаÑËü×÷ΪJavaScript´úÂëÖ´Ðв¢ÓÃÒ»¸ö±äÁ¿±£´æÆðÀ´£¬ÒÔ·½±ãʹÓ÷µ»ØµÄÊý¾Ý¡£Í¨³£µÄ×ö·¨¾ÍÊÇvar jsonData = eval(xmlHttp.responseText)¡£Õâ¿´ÆðÀ´ËƺõÒ»Çж¼ÊÇÕýÈ·µÄ£¬µ«µ±ÄãÔËÐдúÂëµÄʱºò£¬Äã»á·¢ÏÖ±¨“invalid labe”´ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ