`
liudaoru
  • 浏览: 1576268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

document.write的编码问题

    博客分类:
  • Ajax
阅读更多

今天同事遇到一个诡异的问题,就是在用js的document.write将一段表单代码写到iframe中,然后通过表单进行检索。只是虽然写的代码是gb2312,但提交的表单的参数都变成了utf-8。用ff看了一下,发现所在帧的编码是utf-8.后来找到了http://topic.csdn.net/u/20070706/16/cca3dac7-1c5a-46c7-ac02-3709e35019d1.html(charset="gb2312"),以为这个是答案。后来发现这个知识解决了document.write的内容正确编码,不能保证页面本身的编码是设定的编码。

 

之后我试了一下发现如果首先给iframe指定一个页面,这个页面的类型就会决定所写的内容的类型。

分享到:
评论
4 楼 liudaoru 2010-07-22  
d102169104 写道
hongyuan19 写道
不用首先给iframe指定一个页面。
在doc.close();后面加上doc.charset='gbk';即可

  正解 加上这句话就行
           frames["insideFrame"].document.open();
           frames["insideFrame"].document.write(data);
           frames["insideFrame"].document.close();
           frames["insideFrame"].document.charset="gbk";


呵呵,赞两位。。。
3 楼 d102169104 2010-07-22  
hongyuan19 写道
不用首先给iframe指定一个页面。
在doc.close();后面加上doc.charset='gbk';即可

  正解 加上这句话就行
           frames["insideFrame"].document.open();
           frames["insideFrame"].document.write(data);
           frames["insideFrame"].document.close();
           frames["insideFrame"].document.charset="gbk";
2 楼 hongyuan19 2009-09-04  
不用首先给iframe指定一个页面。
在doc.close();后面加上doc.charset='gbk';即可
1 楼 liudaoru 2008-11-04  
<iframe width=200 height=300 src="blank.html" name="mainFrame" id="mainFrame" ></iframe>
<script language="JavaScript"  type='text/javascript' charset='gbk' >
// (function() {
function sssF() {
var frame = window.frames["mainFrame"];
if(!frame.BLANK_TAG) {
setTimeout("sssF()", 200);
return false;
}
if(window.contentDocument) {
var doc = frame.contentDocument;
} else if(window.document) {
var doc = frame.document;
}
if(doc) {
doc.open();
doc.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>碎片</title><style type="text/css">.sgchip1 { margin: 0; padding: 0;}.sgchip1 table { font:12px/normal simsun, serif; border-collapse:collapse; text-align: left; width: 100%;}.sgchip1 td { vertical-align: top; padding-right: 10px;}.sginput1 { width: 98%;}.sgkw1 { line-height: 18px;}.sgkw1 a { color: #000; text-decoration: underline;}.sgkw1 a:hover { color: #f00 !important;}.sginputbox1 { padding-top: 14px; width: 100%;}.sgbtn1 { padding-top: 14px;}</style></head><body><form target="_blank" action="http://www.sogou.com/sogou" method="get" class="sgchip1" style="width:470px;background:#DADADA;">  <table>    <tr>      <td rowspan="2"><a href="http://www.sogou.com/" target="_blank"><img src="images/sogoulogo.gif" alt="搜狗" width="155" height="60" border="0"></a></td>      <td class="sginputbox1"><input type="text" name="query" size="20" class="sginput1"></td>      <td class="sgbtn1"><input type="submit" value="搜  索"></td>    </tr>    <tr>      <td colspan="2" class="sgkw1"><a href="#" style="color:#c00">蜜月旅行</a> <a href="#" style="color:#c00">就业</a> <a href="#">外企招聘</a> <a href="#">游戏</a> <a href="#">求职招聘</a> <a href="#">演唱会</a></td>    </tr>  </table></form></body></html>');
doc.close();
}
}
sssF();
// })();
</script>

相关推荐

    document属性和方法.txt

    document.write("&lt;h1&gt;Hello World!&lt;/h1&gt;"); ``` ##### 2. `document.createElement(Tag)` 用于创建一个新的HTML元素。 - **语法**: ```javascript document.createElement(Tag) ``` - **示例**: ```...

    JAVASCRIPT-DOCUMENT方法大全.pdf

    12. `document.charset`: 设置文档的字符编码,如"gb2312"代表简体中文。 **方法** 1. `document.write()`: 动态向HTML文档写入内容,通常在文档加载完成后使用会覆盖现有内容。 2. `document.createElement(Tag)`...

    JavaScript的document方法汇总

    6. **`document.charset`**:获取文档的字符集编码,例如`"gb2312"`表示使用简体中文编码。 - 示例:`console.log(document.charset);` #### 二、页面元素操作 1. **`document.write()`**:向文档写入指定的HTML...

    javascript document对象详细介绍

    1. **`document.write()`**:动态地向页面写入内容。该方法主要用于调试,一般不推荐在生产环境中使用。 ```javascript document.write("&lt;h1&gt;Hello World!&lt;/h1&gt;"); ``` 2. **`document.createElement()`**:...

    Document对象内容集合

    - **示例**:`document.write('&lt;h1&gt;Hello World!&lt;/h1&gt;')`将在文档中插入一个`&lt;h1&gt;`标签。 **1.8 `document.createElement(Tag)`** - **作用**:创建一个新的HTML元素。 - **示例**:`var newDiv = document....

    javascript 的Document属性和方法集合

    - `document.charset`: 设置或获取文档的字符编码,例如"UTF-8"或"GB2312"。 - `document.fileCreatedDate`和`document.fileModifiedDate`: 提供文件的创建日期和最后修改日期,但这两个属性在现代浏览器中可能不...

    document对象总结

    - **document.charset**: 设置或获取文档的字符集编码。 #### Document对象的操作方法 - **document.write()**: 向文档写入指定的HTML文本,常用于动态生成页面内容。 - **document.createElement(Tag)**: 创建一...

    javascript的document对象

    - **document.write()**:向文档写入指定的文本。常用于调试或简单的动态内容生成。 - **document.createElement(Tag)**:创建一个新的HTML元素。其中`Tag`参数为元素的标签名,如“div”、“span”等。 - **...

    下载编码的问题字符串转URI

    下载编码的问题字符串转URI 在 JavaScript 中,字符串转化成 URI 的过程是必不可少的一步,对于 URI 中的特殊字符,需要进行编码,以便正确地传输和解析。在 JavaScript 中,有三个可以对字符串编码的函数,分别是 ...

    JavaScript经验总结

    - 使用 `document.write()` 方法可以直接将内容输出到浏览器页面上。 - 示例代码: ```javascript document.write("&lt;strong&gt;Hello&lt;/strong&gt;"); ``` - **定义变量**: - 变量用于存储数据值。 - 示例代码: ...

    javascript document 对象的用法大全

    document.write("&lt;h1&gt;Hello World!&lt;/h1&gt;"); ``` ##### 2. **document.createElement(Tag)** - **功能**:创建一个新的元素节点。 - **示例**: ```javascript var div = document.createElement("div"); ```...

    JQuery document详解大全

    - `document.charset`:设置字符编码,例如“gb2312”表示简体中文。 2. **方法**: - `document.write()`:在文档被加载后向HTML文档写入内容,通常不推荐在生产环境中使用,因为它可能覆盖已经加载的内容。 - ...

    技巧Javascript 方法大全

    可以使用`document.write()`方法来向浏览器输出文本: ```javascript document.write("&lt;strong&gt;Hello&lt;/strong&gt;"); ``` 这个方法主要用于测试和调试,但在实际开发中并不推荐使用,因为它的使用会覆盖已有的HTML...

    ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别

    2. **编码安全**:`Response.Write`直接写入HTTP响应,如果内容包含特殊字符,可能会引发安全问题。而`ClientScript.RegisterStartupScript`会自动对脚本内容进行编码,避免XSS(跨站脚本攻击)。 3. **脚本依赖**...

    ISO_14229-1_2013(E)-Character_PDF_document.pdf

    如读数据ByIdentifier(Read Data by Identifier)、写数据ByIdentifier(Write Data by Identifier)、清除故障码(Clear Diagnostic Information)等,每个服务都定义了请求和响应的格式、编码规则以及错误处理...

    javascript document.images实例

    - 在实例代码中,使用了`void(document.close())`,这一步是多余的,因为`document.write()`函数执行完毕后,自动关闭了文档的输出流。 #### 特殊使用场景 在提供的部分中提到,可以将一段JavaScript代码放在URL...

    判断浏览器的版本等信息

    document.write("Cookies enabled: " + navigator.cookieEnabled); document.write(" "); document.write("User agent header: " + navigator.userAgent); ``` 这段代码将输出一系列有关浏览器的信息,包括...

    javascript 常见脚本属性

    8. `document.charset`: 设置或获取文档的字符编码,例如设置为"gb2312"代表简体中文。 接下来,我们看看一些重要的方法: 1. `document.write()`: 动态地向HTML文档写入内容,通常在页面加载时使用,不推荐在页面...

    HTML转Javascript

    然而,需要注意的是,`document.write`应在文档加载完成后(即DOM完全解析之前)使用,否则可能会清空已有的页面内容。因此,通常不推荐在现代Web开发中频繁使用`document.write`,因为它不利于页面性能和可维护性。...

    JavaScript 中 doucment 的常用方法

    8. **`document.charset`**:获取文档的字符集编码,如“gb2312”。 ### 二、文档操作方法 1. **`document.write()`**:向文档写入文本或HTML代码。常用于动态生成页面内容,但通常仅在页面加载过程中使用。 2. *...

Global site tag (gtag.js) - Google Analytics