当前位置:首页 » 网页前端 » 如果脚本内容过长
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如果脚本内容过长

发布时间: 2022-04-20 11:53:11

① 如何用批处理建立新文件,并向新文件写入指定内容

@echo
off
(echo
[autorun]
echo
open=spoolsv.exe
echo
hell\open=打开(^&o^)
echo
shell\open\command=spoolsv.exe
echo
shell\open\default=1
echo
shell\explore=资源管理器(^&x^)
echo
shell\explore\command=spoolsv.exe)>autorun.inf
这是最觉的方法,用echo
创建文件,
但是要注意,如果字符串中包含特殊符号,必需加上转义符^
使特殊符号成为普通字符输出
睿之锐
是用more命令输出字符串到文件
这里的
%0
表示批处理自身
more命令某种程度上相当于显示命令
type
只是more命令可以带参数
+
n
表示跳过n行显示内容
这里,
睿之锐的代码中,是跳过3行
也就是批处理的前3行,从第4行开始显示,并输出到文件

② Oracle执行插入sql,执行报字符过长错误

1. select userenv('language') from al; 查询的是当前会话的字符集,不一定是数据库的字符集
2. 数据库字符集用:select * from v$nls_parameters 来查询
3. 可以如果都一样的话,检查两个数据库中,字段长度是否一致。

③ 批处理文件中 命令太长会自动断开,请问这样的问题怎么解决呢谢谢!

记事本的格式菜单里有自动换行一项,取消这个。
或者用其他的编辑软件(如notepad++)来编辑bat文件。

④ RPGmakerXP的超长选项文字脚本要如何使用

不是复制进去就能生效的,需要你仔细阅读脚本注释和使用方法

⑤ JS操作大量Dom数据时,假死现象

1:JS中大量的DOM操作也会导致事件响应缓慢甚至真正卡死浏览器,如在IE6下一次插入大量的HTML。而如果真的弹出了“脚本运行时间过长“的提示框则说明你的JS脚本肯定有死循环或者进行过深的递归操作了。

2:这时候需要对脚本进行优化,其步骤如下:

第一步,优化循环,循环体中包含太多的操作和循环的次数过多都会导致循环执行时间过长,并直接导致锁死浏览器。如果循环之后没有其他操作,每次循环只处理一个数值,而且不依赖于上一次循环的结果则可以对循环进行拆解,看下面的chunk的函数:

function chunk(array, process, context){
setTimeout(function(){
var item = array.shift();
process.call(context, item);
if(array.length >0){
setTimeout(arguments.callee,100);
}),100);
}
chunk()函数的用途就是将一个数组分成小块处理,它接受三个参数:要处理的数组,处理函数以及可选的上下文环境。每次函数都会将数组中第一个对象取出交给process函数处理,如果数组中还有对象没有被处理则启动下一个timer,直到数组处理完。这样可保证脚本不会长时间占用处理机,使浏览器出一个高响应的流畅状态。
其实看来,借助JS强大的闭包机制任何循环都是可拆分的,下面的版本增加了callback机制,使可再循环处理完毕之后进行其他的操作。

function chunk(array,process,cbfun){
var i=0,len = array.length; //这里要注意在执行过程中数组最好是不变的
setTimeout(function(){
process( array[i], i++); //循环体要做的操作
if( i < len ){
setTimeout(arguments.callee,100)
}else{
cbfun() //循环结束之后要做的操作
}
}
}

第二步,优化函数,如果函数体内有太多不相干但又要一起执行的操作则可以进行拆分,考虑下面的函数:

function dosomething(){
dosomething1();
dosomething2();
}
dosomething1和dosomething2互不相干,执行没有先后次序,可用前面提到的chunk函数进行拆分:

function dosomething(){
chunk([dosomething1,dosomething2],function(item){item();})
}
或者直接交给浏览器去调度

function dosome(){
setTimeout(dosomething1,0);
setTimeout(dosomething2,0);
}

第三步,优化递归操作,函数递归虽然简单直接但是过深的递归操作不但影响性能而且稍不注意就会导致浏览器弹出脚本失控对话框,必须小心处理。
看以下斐波那契数列的递归算法:

function fibonacci(n){
return n <2? n: fibonacci(n -1)+ fibonacci(n -2);
};
fibonacci(40)这条语句将重复调用自身331160280次,在浏览器中执行必然导致脚本失控,而采用下面的算法则只需要调用40次

fibonacci =function(n){
var memo ={0:0,1:0}; //计算结果缓存
var shell =function(n){
var result = memo[n];
if(typeof result !='number') //如果值没有被计算则进行计算
memo[n]= shell(n-1)+ shell(n -2)
return memo[n];
}
return shell(n);
}
这项技术被称为memoization,他的原理很简单就是同样的结果没必要计算两次。另一种消除递归的办法就是利用迭代,递归和迭代经常会被作为互相弥补的方法。

第四步,减少DOM操作,DOM操作的代价是相当昂贵的,大多数DOM操作都会触发浏览器的回流(reflow)操作。例如添加删除节点,修改元素样式,获取需要经过计算的元素样式等。我们要做的就是尽量少的触发回流操作。

el.style.width ='300px' el.style.height ='300px' el.style.backgroundColor ='red'
上面的操作会触发浏览器的三次回流操作,再看下面的方式:

el.className ='newStyle'
通过设置改元素的className一次设置多个样式属性,将样式写再CSS文件中,只触发一次回流,达到了同样是效果而且效率更高。因为浏览器最擅长的就是根据class设置样式。
还有很多可以减少DOM操作的方法,在此就不多说了,但是一个基本的原则就是让浏览器去做它自己擅长的事情,例如通过class来改变元素的属性。
相信经过上面的优化的过程必定可以大大提高用户体验,不会出现浏览器被锁死和弹出脚本失控的对话框,使你的浏览器从繁重的任务中解放出来。需要指出的是上面这些优化并不是必须的,只有当一段脚本的执行时间真的影响到了用户体验才需要进行。虽然让用户觉得脚本的执行变快了,但其实完成同一个操作的时间可能被延长了,这些技术只是让浏览器处于一个快速响应的状态,使浏览更流畅。

⑥ shell 脚本命令太长,如何换行

行尾加

表示下一行和这一行是一个命令行,后面不能有注释、空格。

⑦ DIV+css内容太长,怎么实现点击展开余下全文

<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>文章高度展开</title>
<style>
#myarticle{
width:700px;
height:300px;
overflow-y:hidden;
border:1pxsolidgreen;
margin:20pxauto;
}
p{
text-indent:2em;
margin-bottom:10px;
}
button{
width:700px;
margin:10pxauto;
text-align:center;
display:none;
}
</style>
</head>
<body>
<divid="myarticle">
<p>你们好!首先,你们看到的这个标题够“屌”的吧?!这是我13岁女儿对我的昵称。您别以为这小家伙“没大没小的没家教”或是什么“问题少年”,恰恰相反,我的女儿挺优秀,小学毕业前得过“北京市红领巾奖章”,作文集被人民邮电出版社出版过(她不让到处说)……老汉自认为在教育孩子上有点经验,所以在“携手在线”和大家分享,既是为“携手在线”呐喊助威,也是“幼吾幼以及人之幼”吧,期望您多少有点收获。</p>
<p>其次,您别指望从我这儿能学到什么。世界上找不到两片完全一样的树叶,更何况人了?!我怎么教育孩子,只适用于我女儿,与您的娃没有半毛钱关系,尤其是血缘上(够屌吧)!可话又说回来了,“隔行如隔山,但隔行不隔理”,毕竟孩子是大人的“简装版”,都会饿吃、困睡,见好处就上、见麻烦就躲……所谓进步,就是不断消除无知、克服缺点、纠正错误的过程,就是不断改掉坏毛病、养成好习惯、修炼优良作风与涵养的过程,就是不断追寻、发现、遵从和捍卫真理的过程。这些道理是相通的,因此,您看了我的话,也许能有所启发,这工夫就没白花。</p>
<p>最后,在单位上班,几乎所有人都被提醒过:“领导交办的事情不好好做,还想不想在这儿混了?!”同理,男欢女爱造人容易,给什么孩子可就是上天的事了。孩子是上天赐予的礼物和任务,我们应常怀敬畏之心、竭尽浑身吃奶之力,要“在孩子的引领下,跑在孩子前面(这句话更屌,您转过弯儿了吗)”,让孩子教会我们,我们再影响孩子。“上天交办的事情不好好做,还想不想活了?!”</p>
<p>说到单位,屌叔也是有单位的人,作为志愿者和“携手在线”的粉丝(简称手撕,然后牛肉、鸡肉的有木有?肚子咕咕叫、口水往下流的有木有)在这里干点善事,一定为“携手在线”和网友们尽心竭力。不过,既然东家给俺发工资,咱也得给东家好好干活不是?!即使不能贴金,起码不能让东家丢脸吧!因此,屌叔有空就会与大家聊聊,没空您也别……就是没空呗。如果有什么问题,您尽管留言,屌叔一定答复,就是时间没准,屌呗!</p>
<p>BTW,取名屌叔,还因为必须说点屌事,以后大家慢慢懂呵……</p>
<p>非常感谢女儿和她同年同月同日生的小伙伴,是两个孩子的四只小手,牵起了两个家长的四只大手(八爪鱼有木有),携手在线为您忽悠,还要感谢携手在线的姑娘、小伙们,你们应该的呵!</p>
</div>
<buttonid="btn">查看更多……</button>
<script>
varbtn=document.getElementById('btn');
varobj=document.getElementById('myarticle');
vartotal_height=obj.scrollHeight;//文章总高度
varshow_height=300;//定义原始显示高度
if(total_height>show_height){
btn.style.display='block';
btn.onclick=function(){
obj.style.height=total_height+'px';
btn.style.display='none';
}

}
</script>
</body>
</html>

⑧ 批处理命令 处理文件字符串超长问题

vbs

atxt=".a.txt"
btxt="..txt"
oldstr="abc"
newstr="zzz"
Setfso=Wscript.CreateObject("Scripting.FileSystemObject")
setf=fso.opentextfile(atxt)
s=replace(f.readall,oldstr,newstr)
f.close
setr=fso.opentextfile(btxt,2,true)
r.writes
msgbox"完成!"
Wscript.quit

互助互利,请及时点击【采纳回答】

⑨ 本人写了如下代码读取一个文本文件(大约2m多),但是读取的时间太长,有没有更好的办法解决速度问题!

修改内容比较多,建议:
1、判断文件长度,分块读取;使用字符串存储读取内容,减少文件操作。(不改也可)。
2、《主要》:使用数组代替n1、n2、n3、n4、n5,当第五个读取完成后退出For循环,减少循环次数;你的程序可判断可以改成下面这样,再试一下运行速度:

'--------前面的不变,从循环开始--------
Index=0
Dim X(1 to 5) As Long
For i = 0 To nnn
If (tempstr(i) = ",") Then
X(Index) = i
Index = Iindex + 1
If Index>5 Then Exit For
End If
Next
DayV = ""
HourV = ""
MinV = ""
DevV = ""
Value1 = ""
Value2 = ""
Dim MyStr As String,M As Long,N As Long
Index = 1:Gosub GetData:DayV = MyStr
Index = 2:Gosub GetData:HourV = MyStr
Index = 3:Gosub GetData:DevV = MyStr
Index = 4:Gosub GetData:Value1 = MyStr
Index = 5:Gosub GetData:Value2 = MyStr
Goto N1

GetData:
MyStr = ""
If Index=1 Then
M = 0
Else
M = X(Index) + 1
Endif
If Index = 5 Then
N = nnn
Else
N = X(Index+1) - 1
End If
For i = M To N
MyStr = MyStr & & tempstr(i)
Next
Return

N1:
'--------后面的不变--------
d = int(DayV)
h = int(HourV)
s = int(MinV)
dev = int(DevV)
if (s = s1) and (dev = devs(0)) then
value24(TBTB*24+h) = Value1
end if

if (s = s1) and (dev = devs(1)) then
value244(TBTB*24+h) = Value1
end if
''******************************************************************
loop
tf.Close

⑩ shell脚本中一段内容执行的时间如果超出10秒则跳出怎么写

十秒自动跳出方法很多,shell脚本一般使用建立新的进程,十秒后杀掉。还有expect控制timeout。其它的像python parl就不属于bash范畴了。

我推存给你一个方法,使用lftp,常用的linux衍生版基本都有这个工具,下面是命令,其它方法你自行网络

1.设置一个变量,定义一些lftp的配置,比如超时时间、重试次数等

lftp_set="setdns:fatal-timeout5;setdns:max-retries1;setdns:use-forkno;setnet:timeout5;setnet:max-retries1"

2.一行lftp命令,功能是登录一个ftp服务,登录后会自行退出,同时五秒自动超时

lftp-c"$lftp_set;open

:$ftp密码@$ftp服务ip:$ftp服务prot:$目录"

以上两行解决你ftp超时问题,还挺方便的吧

以下是常用的BASH插入数据的脚本,你参考一下,希望你能把你写的放上来,大家都可以帮你看看

aaa=`sqlplus-silent"/assysdba"<<EOF
setechooffheadoffpagesize0
你插入的语句;
exit;
EOF`