document write.md

document.write

我们都很熟悉,document.write用于向document.open打开的文档流中写入内容。

但是document.write很可能会造成文档的重写

我们先来补充一些理论知识:

  • 如果document.write向文档流中写入内容时,文档流没有打开。那么document.write会自动调用document.open打开文档流
  • 如果在文档加载完毕后调用document.write,那么会导致重写(即文档中原来的内容会被全部清除掉)
  • 如果在文档加载过程中调用document.write,那么写入的内容会被正常解析到文档中,而不会导致重写

下面展现一个重写的例子:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <style>
        #div{
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>

<body>
    <div id="div"></div>
    <script>

        setTimeout(function(){
            document.write('hello world!');
        },3000)
    </script>
</body>

</html>

三秒后,文档已经加载完毕了,因此会造成重写,因此div等标签将会被清除,最后页面中只留下hello world!

在这里插入图片描述

可见,页面中仅剩下了最基本的标签,其他内容全部被清除了

在Java Web项目中集成FastJSON、axios、Editor.md和图片处理,你需要按照以下步骤操作: 1. **添加依赖**: - 对于FastJSON,可以在pom.xml中添加以下依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.79</version> </dependency> ``` - 对于axios,虽然它不是直接用于服务器端,但在前端可以引入CDN或者通过npm安装: ```javascript // 引入axios import axios from 'axios'; ``` 2. **Servlet整合FastJSON**: 使用FastJSON进行数据交互,例如从数据库获取HTML文本: ```java import com.alibaba.fastjson.JSON; // ...省略导入 response.setContentType("application/json;charset=UTF-8"); response.getWriter().write(JSON.toJSONString(result)); ``` 3. **Editor.md**: - 将`editor.md`库包含在项目中,如放在static文件夹下。 - 在HTML中嵌入编辑器: ```html <script src="/path/to/editor.min.js"></script> <!-- 其他初始化代码 --> var editor = new Editor('.markdown-editor'); ``` - 获取内容并存储到数据库: ```javascript function saveContent() { let content = editor.txt.html(); // 发送Ajax请求存入数据库 axios.post('/api/save', {content}, ...) } ``` 4. **图片上传**: - 使用前端上传组件(如FineUploader、Dropzone等)接收用户上传的图片。 - 图片处理和保存: ```javascript axios.upload('imageUpload', file) .then(response => { let imageUrl = response.data.path; // 存储路径到数据库 // 更新数据库 }); ``` 5. **再次加载内容**: - 从数据库获取HTML内容和图片路径,在前端重建页面时,使用`<img>`标签显示图片,保留原始排版: ```javascript function loadContentAndImages() { const htmlWithImages = content.replace(/![](.*?)/g, `<img src="${imageUrl}" alt="..." />`); document.getElementById('content-container').innerHTML = htmlWithImages; } ``` 6. **相关问题--:** 1. FastJSON的性能如何? 2. Editor.md的本地化支持如何? 3. 如何防止图片上传过大导致的问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值