外部的JS引用进来。搜家居项目里有
CS.文件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="0test.aspx.cs" Inherits="Stores._0test"
ValidateRequest="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>聊天窗口</title>
<script src="http://ayue05.blog.163.com/blog/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ayue05.blog.163.com/blog/Scripts/jquery.uploadify.v2.1.4-OL.js" charset="GB2312"></script>
<link type="text/css" rel="Stylesheet" href="http://ayue05.blog.163.com/blog/ScreenCapture/ScreenCapture.css"/>
<link type="text/css" rel="stylesheet" href="http://ayue05.blog.163.com/blog/css/ui-lightness/jquery-ui-1.8.11.custom.css" />
<script type="text/javascript" src="http://ayue05.blog.163.com/blog/js/jquery.min.js"></script>
<script type="text/javascript" src="http://ayue05.blog.163.com/blog/js/jquery-ui-1.8.11.custom.min.js"></script>
<script type="text/javascript" src="http://ayue05.blog.163.com/blog/ScreenCapture/ScreenCapture.js" charset="utf-8"></script>
<script type="text/javascript" src="http://ayue05.blog.163.com/blog/fckeditor/fckeditor.js" charset="utf-8"></script>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" charset="utf-8"></script>
<script type="text/javascript">
function removeHTMLTag(str) {
str = str.replace(/</?[^>]*>/g, ''); //去除HTML tag
str = str.replace(/[ | ]*
/g, '
'); //去除行尾空白
//str = str.replace(/
[s| | ]*
/g,'
'); //去除多余空行
str = str.replace(/ /ig, ''); //去掉
str = str.replace(/s/g, ''); //去掉空格
return str;
}
</script>
<script type="text/javascript">
//读取文件的值,赋值给DIV 开始
var sh;
sh = setInterval(function () {
//$("#ChatBase").load(location.href + " #ChatBase>*", "");//一直刷新某一容器,如DIV,等
var seleMid = " ";
$.ajax({
type: "POST",
contentType: "application/json",
url: "Resources/0.asmx/GetShopAllwaysCategory",
dataType: "json",
data: "{mid:'" + seleMid + "'}",
success: function callBack(result) {
//判断读取的值是否和页面显示的值一样。不一样则修改。一样则页面值为静态不刷新
var index = removeHTMLTag($("#refresh").text()); //获取DIV页面上的值
var indexHTML = removeHTMLTag(result.d.toString()); //获取读取的值,并过虑HTML标签
//alert("---" + result.d.toString());
//alert(index);
if (index != indexHTML) {
$("#refresh").html(result.d);
msg_end.scrollIntoView();
}
}
});
//一直调用页面鼠标移动方法,确保图片及时显示
//editor_keydown();
//var obj = document.getElementById("body1");
//obj.attachEvent("onmousemove", editor_keydown);
}, 100);
//读取文件的值,赋值给DIV 结束
//提交
function sub() {
var cont = ""; // $("#refresh").text();
//var str1 = $("#txt2").val();
var str2 = $("#hdid").val();
var oEditor = FCKeditorAPI.GetInstance("txt2");
var str1 = oEditor.GetXHTML(true);
$.ajax({
type: "POST",
contentType: "application/json",
url: "Resources/subChat.asmx/subchat",
data: "{cont:'" + cont + "',name1:'" + str1 + "',name2:'" + str2 + "'}",
dataType: 'json',
success: function (result) {
if (result.d == "success") {
//alert("发送成功!");
//var txt1 = document.getElementById("txt2");
// txt1.value = "";
// txt1.focus();
var oEditor = FCKeditorAPI.GetInstance("txt2");
oEditor.SetHTML("");
oEditor.Focus();
} else {
alert("发送失败!");
}
}
});
}
//离开页面后的事件
function closethis() {
//改变文件状态为0.参数txtRefreshTo0是要存入数据库的值,从文件里直接读取,如果传参,字符太长
var txtRefreshTo0 = "";// $("#refresh").text();
$.ajax({
type: "POST",
contentType: "application/json",
url: "Resources/set0.asmx/setTo0",
dataType: "json",
data: "{mid:'" + txtRefreshTo0 + "'}",
success: function callBack(result) {
if (result.d == "success") {
window.close();
}
}
});
}
//传图片
function sltPdt() {
var str2 = $("#hdid").val();
showModalDialog("0upImg.aspx?id=" + str2, window, "dialogHeight:100px;dialogWidth:305px;center:yes;help:no;status:no;scroll:no;");
}
//传文件
function sltPdtFile() {
var str2 = $("#hdid").val();
showModalDialog("0upFile.aspx?id=" + str2, window, "dialogHeight:100px;dialogWidth:305px;center:yes;help:no;status:no;scroll:no;");
}
</script>
</head>
<%--页面关闭时候,在新页面把数据存入数据库 οnbefοreunlοad="return CloseEvent();" οnunlοad="UnLoadEvent()" οnunlοad="close(event)" --%>
<body id="body1" style=" 100%; height:100%;" οnunlοad="closethis()" οnmοusemοve="editor_keydown()" >
<div>
<div style=" float:left;">
<div style=" 100%;">
<div id="ChatBase" style="left: 10px; top: 10px; 400px; height: 400px; overflow-y: scroll;
overflow-x: hidden; border: solid 2px #006699; background-color: #fff;">
<div id="refresh" style="margin: 0px; padding: 5px; 380px; overflow: hidden;">
<%=cont %>
</div>
<%--<%=cont %>--%>
<%--定位到最底部--%>
<div id="msg_end" style="height: 0px; overflow: hidden">
</div>
</div>
</div>
<%--工具栏开始--%>
<div id="divTool" style=" 400px; border: outset 2px #006699; border-top: 0;
height: 22px; line-height: 22px;">
<div οnclick="sltPdt();" style="cursor: pointer; font-size: 12px; float:left;">
<img alt="选择图片" src="http://ayue05.blog.163.com/blog/img/v-12-img/z_22.gif" style="margin-right: 3px;" />图片</div>
<div οnclick="sltPdtFile();" style="cursor: pointer; font-size: 12px; float:left;">
<img alt="选择文件" src="http://ayue05.blog.163.com/blog/img/v-12-img/z_23.gif" style="margin-right: 3px;" />文件</div>
<div style="cursor: pointer; font-size: 12px; float:left;">
<%--<asp:Button ID="Button1" runat="server" Text=" 截图 " οnclick="Button1_Click" />--%>
</div>
</div>
<%--工具栏结束--%>
<div style="margin-top: 10px;">
<textarea cols="1" rows="1" id="txt2" name="txt2" style=" 400px; height: 60px;" ></textarea>
<script type="text/javascript" language="javascript">
var scpMgr = new CaptureManager();
//http://www.ncmem.com/products/screencapture/demo/upload.aspx,如果不是这个域名。可能出现域名未授权现象
//scpMgr.Config["PostUrl"] = "http://192.168.0.100/market/asp.net/upload.aspx";
scpMgr.Config["PostUrl"] = "http://www.ncmem.com/products/screencapture/demo/upload.aspx";
var oFCKeditor = new FCKeditor('txt2');
oFCKeditor.BasePath = "fckeditor/";
oFCKeditor.ToolbarSet = 'Basic';
oFCKeditor.Width = "400";
oFCKeditor.Height = "200";
oFCKeditor.ReplaceTextarea();
function FCKeditor_OnComplete(editorInstance) {
scpMgr.Init(editorInstance); //初始化
//var oEditor = FCKeditorAPI.GetInstance("txt2");onkeydown
editorInstance.EditorDocument.attachEvent("onmousemove", editor_keydown);
}
function editor_keydown() {
var oEditor = FCKeditorAPI.GetInstance("txt2");
var str1 = oEditor.GetXHTML(true);
if (str1.indexOf('src="/upload') > 0) {
str1 = str1.replace('src="/upload', 'src="http://www.ncmem.com/upload');
//alert(str1);
oEditor.EditorDocument.body.innerHTML = str1;
}
}
</script>
</div>
<div style=" 400px; height: 30px;" >
<div id="subdiv" style="cursor: pointer; 50px; height: 25px; text-align: center; line-height: 25px;
border: outset 2px gray; margin-left: 135px; margin-top:5px; float:left; " οnclick="sub()" >
提 交
</div>
<div id="Div1" style="cursor: pointer; 50px; height: 25px; text-align: center; line-height: 25px;
border: outset 2px gray; margin-left: 15px; margin-top:5px; float:left; " οnclick="closethis()">
关 闭
</div>
</div>
<div style=" 400px; margin-top:10px; font-size:12px; color:#555; text-align:center; " >
小提示:ctrl+回车可快速提交哦
</div>
<form id="form1" runat="server">
<input id="hdid" type="hidden" runat="server" value="" />
</form>
</div>
<div style=" float:left; display:none;">
客户IP为:<%=ip %>
</div>
</div>
</body>
</html>
CS.文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace Stores
{
public partial class _0test : System.Web.UI.Page
{
protected string cont = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string temp = HttpContext.Current.Server.MapPath("~/1.htm");
StreamReader sr = null;
Encoding code = Encoding.GetEncoding("gb2312");
sr = new StreamReader(temp, code);
cont = sr.ReadToEnd().ToString().Trim(); // 读取文件
sr.Close();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string temp = HttpContext.Current.Server.MapPath("~/1.htm");
StreamReader sr = null;
Encoding code = Encoding.GetEncoding("gb2312");
sr = new StreamReader(temp, code);
string str1 = sr.ReadToEnd(); // 读取文件
sr.Close();
//string str1 = txt1.Text.ToString().Trim();
string str2 = txt2.Text.ToString().Trim();
txt2.Text = "";
if (WriteFile(str1,str2))
{
string err = "更新成功";
}
else
{
string err = "生成HTML出错!";
}
}
public bool WriteFile(string str1, string str2)
{
//string path = HttpContext.Current.Server.MapPath("~/");
Encoding code = Encoding.GetEncoding("gb2312");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath("~/1.htm");
//StreamReader sr = null;
StreamWriter sw = null;
string str = "";
//try
//{
// sr = new StreamReader(temp, code);
// str = sr.ReadToEnd(); // 读取文件
//}
//catch (Exception exp)
//{
// HttpContext.Current.Response.Write(exp.Message);
// HttpContext.Current.Response.End();
// sr.Close();
//}
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
//str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle
//string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";//以当前日期为标题另存为一个静态页面,防止页面重复
//str = str.Replace("str1", str1 + "
" + str2);
str = str1 + "</br>" + str2 + "</br>";
//str = str.Replace("str2", str2);
// 写文件
try
{
sw = new StreamWriter(temp, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
}
}
}