📄 mgloadscript.cpp
字号:
#include <assert.h>#include <string.h>#include "mgloader.h"#include "mgloadscript.h"#include "cachescript.h"#include "mgmessage.h"#define DEBUG_BY_XHTANG 0using namespace DOM;using namespace khtml;MGScriptLoader::MGScriptLoader(){ setType(MGLOADERTYPE_SCRIPT);} MGScriptLoader::~MGScriptLoader(){}bool MGScriptLoader::LoadedMsgFromNet( unsigned char *url ,unsigned char *buf,int length){ char s[URL_TEMPNAMELENGTH+1]; bool bsucc = 0; bsucc = MGLoadObject::LoadedMsgFromNet(url,buf,length,s); MGCachedScript *cachedScript=0; FromUrlLoaded(url,&cachedScript); if( !cachedScript ) return 0; if( bsucc ) cachedScript->LoadDataFromTempFile(s); else cachedScript->error(); NotifyDataProcessed(MSG_SCRIPTDATAPROCESSED); return 1;}void MGScriptLoader::FromUrlLoaded( unsigned char *url ,MGCachedScript **cachedScript){ *cachedScript=SeekLoadListByUrl(url)?m_load.current()->cachedScript:0;}MGCachedScript* MGScriptLoader::requestScript( unsigned char *url ){ char s[URL_TEMPNAMELENGTH+1],t[URL_TEMPNAMELENGTH+1]; if(isLocalFile(url)){ MGCachedScript *alocal = new MGCachedScript(url,1); NotifyDataProcessed(MSG_SCRIPTDATAPROCESSED); return alocal; } if(isLoaded(url)){ strcpy(s,m_load.current()->TempName); CompleteTempName(s); return new MGCachedScript((unsigned char*)s); } if(isRequested(url)) return 0; strcpy(s,"scr-"); sprintf(t,"%d",++m_nRequested); strcat(s,t); if(strlen((char *)url)>=4&&*(url+strlen((char *)url)-4)=='.') strcat(s,(char *)url+strlen((char *)url)-4); else strcat(s,".js"); LoadUrlStruct *sus=new LoadUrlStruct();// strcpy(sus->url,url); strncpy((char *)sus->url,(char *)url,URL_STRINGMAXLENGTH); sus->url[URL_STRINGMAXLENGTH] = 0; strncpy(sus->TempName,s,URL_TEMPNAMELENGTH); MGCachedScript* cachedScript= new MGCachedScript(url); sus->cachedScript = cachedScript; m_req.append(sus); RequestMsgToNet(sus->url); return cachedScript;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -