近日在生产服务器端发现一个问题,本应该正常显示的页面报出js错误。
“Automation 服务器不能创建对象”
而该页面在前日都正常运行,且代码没有任何改动。
诊查下来,发现唯一的区别是在子页面上
window.opener.document.Form.*
中的FORM表单的名字明显很长,而之前正常运行的form表单名比较短。
经过测试将form表单的名字修改到很短的时候,代码可以正常运行。而因为表单名称是动态变化的,明显不能通过修改表单名称长度来解决问题。
后来将上面的Js修改为window.opener.document.getElementById('formName').*
后,页面正常运行
根据该现象总结:前一方式对于Form表单名称长度应该有限制,而后者没有,具体底层原因未知,望高手解答,谢谢!
相关推荐
window.opener.document.getElementById("text1").value = document.getElementById("returnText").value; window.close(); } ``` #### 四、实例分析 考虑以下示例代码: ```html <!-- a.html --> <form name...
切换frame内容,可以使用`window.document.getElementById("frameId").src`或`window.frameName.location`。 6. **模态和非模态窗口问题**: IE提供了`showModalDialog`和`showModelessDialog`方法,Firefox不支持...
opener.document.getElementById("result").innerText = "Data from the new window."; ``` **30. `prompt()`** - **功能**:弹出一个对话框让用户输入文本。 - **示例**: ```javascript var userInput = ...
window.opener.document.getElementById("b").value = "新的值"; ``` 这里的关键在于使用 `window.opener` 获取到父窗口对象后,再通过 `document` 属性来访问父窗口的 DOM,最后通过 `getElementById()` 方法定位...
window.opener.document.all.text1.value = document.getElementById("returnText").value; window.close(); } <input type="button" name="Submit" value="提交" onclick="returnValue();"> <input name=...
window.opener.document.getElementById('resultTextBox').value = name; window.close(); } ``` 在这个例子中,我们有一个简单的表单,用户可以输入他们的姓名。当点击"提交"按钮时,`returnResult`函数会...
var form = window.document.forms[0] for (var i = 0; i<form.elements.length;i ){ if (form.elements.type == "text"){ form.elements.value = ""; } } 31.复选按钮在JS中判断是否选中:document.forms[0].check...
**解决方法**:在需要创建模态对话框时,可以采用 `window.open` 方式,并结合 `window.opener` 进行父窗口与子窗口之间的交互。 13. **框架元素** - **IE** 和 **Firefox**: `<frame>` 元素可用于嵌套其他文档...
更新框架内容时,可以使用`window.document.getElementById("testFrame").src`等通用方法。 #### 三、结论 综上所述,IE与Firefox在DOM操作、CSS样式等方面存在着较大的兼容性差异。为了解决这些兼容性问题,...
通过`window.document.getElementById("frameId")`可以在两种浏览器中通用。切换frame内容,可以使用`window.document.getElementById("testFrame").src = "xxx.html"`或`window.frameName.location = "xxx.html"`。...
- `document.forms[0].selectName.options[n].value`: 获取下拉列表中的选项值。 13. 字符串操作 - `var myString=new String("Thisislightsword")`: 创建字符串对象。 - `string.toUpperCase()`: 转换字符串为...
document.getElementById('elementId').name = 'newValue'; ``` 6. **大小写转换:** ```javascript document.getElementById('output').value = document.getElementById('input').value.toUpperCase(); ```...
- `formName`: 文档中命名的表单。 - `images`: 文档中所有图像的数组。 - `lastModified`: 文档的最后修改日期。 - `linkColor`: 链接到未被访问文档的链接颜色。 - `link`: 文档中的`<A HREF>`标记。 - `...
在IE中,可以使用`document.formName.item("itemName")`来获取表单元素,但在Firefox中,只能使用`document.formName.elements["elementName"]`。为确保兼容性,建议统一使用`document.formName.elements[...
document.getElementById(id); 定时 timer=setInterval("scrollwindow()",delay); clearInterval(timer); UNCODE编码 escape() ,unescape 父对象 obj.parentElement(dhtml) obj.parentNode(dom) 交换表的...
i++) x=getObjByID(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function doClick(o){ var sObjName, sObjType, sSqlString; var oFormSql = getObjByID(...
tips[25] = '个人行为与小规模配合压根不需要流程与规范,当交付结果需要大规模的应用时,同一的规格就显得非常重要了。'; tips[26] = '任何创作活动都是为了满足一定的需求,创新是执行过程中的副产品;为了创新而...
使用`window.opener.document.getElementById('id')`。 3. **如何判断一组name=”checkbox”的控件中没有任何一个被选中** 遍历所有checkbox,检查是否有被选中的项。 4. **如何判断一个”text” name=”myname...
* 获取元素:document.getElementById()、document.getElementsByTagName() * 创建元素:document.createElement()、document.createTextNode() * 添加元素:node.appendChild()、node.insertBefore() * 删除元素:...
- `locationbar`、`menubar`、`name`、`opener`、`outerHeight`、`outerWidth`、`pageXOffset`、`pageYOffset`、`self`、`status`、`top`和`window`:分别表示浏览器的各个部分和窗口自身。 3. `document`对象提供...