⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgloadscript.cpp

📁 monqueror一个很具有参考价值的源玛
💻 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 + -