这个在VB中实现比较麻烦,在Vb中没有移位运算符,需要用除以2转化为2进制来模拟
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、珠山网络推广、小程序开发、珠山网络营销、珠山企业策划、珠山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供珠山建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
javascript运行在客户端,而asp运行在服务器端
要想asp接受到javascript中的变量,就的把javascript中的变量提交到asp中
方法比较多,下面是一个比较简单的方法
修改你原来的javascript
a href="javascript:extractlinks()"点击测试下含有的链接?/a
script language="JavaScript1.2" defer="defer"
!--
function extractlinks(){
var links=document.all.tags("A")
var strlinks='';
b=0
var total=links.length
var win2=window.open("","","menubar,scrollbars,toolbar")
for (i=0;itotal;i++)
{
if ((links[i].href).indexOf("www")!=-1
(links[i].href.length )35) {
//win2.document.write("font size='2'"+links[i]+"/fontbr");
strlinks += links[i]+'|';
b++;
}
}
//win2.document.write("font size='2'一共有"+b+"个外部连接/fontbr")
win2.location.href='view.asp?link='+strlinks;
}
--
/script
新建一个view.asp
%
link = Request.QueryString("link")
links =split(link,"|",-1,1)
for each str in links
Response.Write(str+"br")
next
%
你就可以把就要把javascript中的变量提交到asp中
你还用现在流行的ajax把javascript中的变量提交到asp中
根据自己的需求自己动手写一个吧,大概原理如下:
script
var html = "";
var scripts = "";
scripts += "var div = document.createElement('div');"
+"div.appendChild(document.createTextNode('I am div.'));"
eval(scripts);
var content = document.createElement('div');
content.appendChild(div);
html = content.innerHTML;
alert(html)
//结果:DIVI am div/DIV
/script
按这个js脚本的算法,写了一个类,提供静态方法完成加密解密。假定了待加密内容是unicode编码。加密后为sbcs。主函数是测试的,后面的代码是为了输出unicode字符串进行的转换,和加/解密无关。
#includetchar.h
#includestring
#includeiostream.h
#includeafx.h
class Translator{
private:
static const char code[];
public:
static char *textEncrypt(TCHAR *source,char result[]);
static TCHAR *textDecrypt(char *source,TCHAR result[]);
};
const char Translator::code[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcde";
char *Translator::textEncrypt(TCHAR *source,char result[]){
int l=wcslen(source);
char *temp=new char[l*3+1];
for(int i=0;il;i++){
unsigned short ch=source[i];
for(int j=0;j3;j++){
temp[i*3+2-j]=code[ch%41];
ch/=41;
}
}
temp[l*3]=0;
for(i=l*3-3;i=0;i-=3){
if(temp[i]!='A'){
break;
}
}
if(i=0){
strcpy(result,temp);
}
else{
result[0]='z';
for(i=0;il;i++){
result[i*2+1]=temp[i*3+1];
result[i*2+2]=temp[i*3+2];
}
result[i]=0;
}
delete [] temp;
return result;
}
TCHAR *Translator::textDecrypt(char *source,TCHAR result[]){
char *temp,ch;
int l,i;
if(source[0]=='z'){
l=(strlen(source)-1)/2;
temp=new char[l*3];
for(i=0;il;i++){
ch=source[i*2+1];
temp[i*3+1]=ch='A'?(ch='a'?ch-'a'+36:ch-'A'+10):ch-'0';
ch=source[i*2+2];
temp[i*3+2]=ch='A'?(ch='a'?ch-'a'+36:ch-'A'+10):ch-'0';
temp[i*3]=10;
}
}
else{
l=strlen(source)/3;
temp=new char[l*3];
for(i=0;i3*l;i++){
ch=source[i];
temp[i]=ch='A'?(ch='a'?ch-'a'+36:ch-'A'+10):ch-'0';
}
}
for(i=0;il;i++){
result[i]=(temp[i*3]*41+temp[i*3+1])*41+temp[i*3+2];
}
result[i]=0;
delete [] temp;
return result;
}
void main(){
char encrypted[100];
TCHAR decrypted[20];
Translator::textEncrypt(L"我试验unicode效果",encrypted);
coutencryptedendl;
Translator::textDecrypt(encrypted,decrypted);
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,decrypted,-1,NULL,0,NULL,FALSE);
char *psText;
psText = new char[dwNum];
if(!psText){
delete []psText;
}
WideCharToMultiByte(CP_OEMCP,NULL,decrypted,-1,psText,dwNum,NULL,FALSE);
coutpsTextendl;
delete []psText;
}
如果我没看出的话,这是用JS实现动态改变页面内容的东西,PHP部分最后形成一个字符串,然后通过JS显示到指定位置。这只是一个功能的片段,光调整它一点意义没有。另外做任何改变,都需要知道你要实现一个什么功能,还要兼顾到这个业务逻辑。
另外,这个代码写的太初级了,你要如何改也没说明白,改完之后基本上没法契合到你系统中。
不太清楚你的需求能说清楚点吗?是不是实现eval类似的功能?如果是可以考虑使用函数的实例化方式