自己定义的记录ID太长,导致转给myurl时字符串太长了,现在myurl最长可能有2500个英文字符加数字。var val = escape(document.getElementById("selVals").value);
document.frames['hiddenframe'].location.replace("x.aspx?_val="+val);当选择记录ID少于50个,即myurl长度为650(大概估算)时,是可以正常跳到x.aspx的,
否则,就会跳转到res://ieframe.dll/errorPageStrings.js之后又转到res://ieframe.dll/dnserror.htm请问有什么办法可以解决吗?或者有替代方法,可以是url的长度更长且被程序接收。
document.frames['hiddenframe'].location.replace("x.aspx?_val="+val);当选择记录ID少于50个,即myurl长度为650(大概估算)时,是可以正常跳到x.aspx的,
否则,就会跳转到res://ieframe.dll/errorPageStrings.js之后又转到res://ieframe.dll/dnserror.htm请问有什么办法可以解决吗?或者有替代方法,可以是url的长度更长且被程序接收。
<script>
form.action="new URL?v=key"
form.method="post"
form.submit();
</script>
Location.host:一个可读写的字符串属性,表示当前URL中主机名和端口部分,例如:www.xxx.com:1234。
Location.hostname:一个可读写的字符串属性,表示当前URL中主机名部分。
Location.href:一个可读写的字符串属性,表示当前完整的URL。
Location.pathname:一个可读写的字符串属性,表示当前URL中路径部分,例如:/home/news/list.htm。
Location.port:一个可读写的字符串属性,表示当前URL中端口部分的字符串。
Location.protocol:一个可读写的字符串属性,表示当前URL中协议部分,包括后缀冒号,例如:http:。
Location.search:一个可读写的字符串属性,表示当前URL中查询部分,包括前导问号,例如:?q=javascript&m=10
Location.reload():从缓存或服务器再次把当前文件装载进来。
Location.replace():用一个新文档替换当前文件,而不在浏览器的会话历史中生成一个新纪录。
在实际应用中,Location对象可以很容易的控制URL,修改Location对象的属性会创建一个新的URL,浏览器会将新生成的URL装载并显示出来。例如,设置了Location对象的hash属性,浏览器会转到当前文挡中一个指定的位置。下边是我自己写的一个函数,并说明了如何应用:<script type="text/javascript">
<!-- <![CDATA[
function getURLArgs() {
var args = new Array();
var pairs = location.search.substring(1).split("&");
for(var i = 0; i < pairs.length; i++) {
var index = pairs[i].indexOf("=");
if(index == -1) continue;
args[i] = decodeURIComponent(pairs[i].substring(index + 1));
}
return args;
}
// ]]> -->
</script> 可以在body区域中像下边这样调用getURLArgs()函数:<script type="text/javascript">
<!-- <![CDATA[
document.write("早上好" + getURLArgs()[0] + ",您是" + getURLArgs()[1] + "。");
// ]]> -->
</script> 最后是我的运行效果:
我也可以这么引用它:window.i 或 self.i。在客户端HTML中有一个数组对象frame,它存储的是当前页面中帧的数组,当一个窗口中有多个帧时候,我们就可以利用它引用不同的全局对象来传递参数:
window.frame[0] 或 self.frame[0]上边的"[0]"代表的页面中出现的第一个帧,同时因为window对象在JavaScriprt作用域链的头部所以上边的可以简写成:frame[0]像上边那样操作引用的是一个页面中的子帧,如果是子帧的子帧可以这么引用:
frame[0].frame[0]如果是子帧想引用它的兄弟帧,可以用parent来操作,parent代表的是子帧的父帧的全局对象:
parent.frame[2]如果一个被嵌套多层的帧想访问它的顶层窗口的帧,可以用top来操作,top代表的是顶层窗口的全局对象:
top.frame[0]如果想引用一个子帧中的变量或函数可以这么写:
引用变量:...frame[0].o
引用函数:...frame[0].o();
但是请注意,JavaScripr是词法作用域,如果引用一个不同页面中的函数,那么那个函数将在定义它的页面中运行,而不是引用它的页面中运行。如有问题可以联系我:
Blog:http://blog.sina.com.cn/qq411908279
QQ:411908279
Mail:[email protected]
我也可以这么引用它:window.i 或 self.i。在客户端HTML中有一个数组对象frame,它存储的是当前页面中帧的数组,当一个窗口中有多个帧时候,我们就可以利用它引用不同的全局对象来传递参数:
window.frame[0] 或 self.frame[0]上边的"[0]"代表的页面中出现的第一个帧,同时因为window对象在JavaScriprt作用域链的头部所以上边的可以简写成:frame[0]像上边那样操作引用的是一个页面中的子帧,如果是子帧的子帧可以这么引用:
frame[0].frame[0]如果是子帧想引用它的兄弟帧,可以用parent来操作,parent代表的是子帧的父帧的全局对象:
parent.frame[2]如果一个被嵌套多层的帧想访问它的顶层窗口的帧,可以用top来操作,top代表的是顶层窗口的全局对象:
top.frame[0]如果想引用一个子帧中的变量或函数可以这么写:
引用变量:...frame[0].o
引用函数:...frame[0].o();
但是请注意,JavaScripr是词法作用域,如果引用一个不同页面中的函数,那么那个函数将在定义它的页面中运行,而不是引用它的页面中运行。如有问题可以联系我:
Blog:http://blog.sina.com.cn/qq411908279
QQ:411908279
Mail:[email protected]