我需要将当前的html页面导出为.html文件。但是,部分内容是使用jQuery修改的。当我使用下面的代码时,它会导出,但只导出最初加载的html,而不是jQuery的修改。
我是javascript&的新手jQuery,请耐心等待我!
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/main/java</sourceDir>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/test/java</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
&#13;
$('#modify').keyup(function() {
var val = $(this).val();
$('#text_to_mofify').html(val);
});
var a = $("#test");
a.download = "export.html";
a.href = "data:text/html," + $('#main').html();
a.innerHTML = "Export content";
&#13;
上面的代码片段会导出带有包含Hello World的<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main">
<p id="text_to_modify">Hello World</p>
</div>
<input type="text" id="modify" />
<a id="test"></a>
标记的html,而不是我在#modify输入框中的内容。
答案 0 :(得分:0)
Rômulo的回答Gabriel Rodrigues为我工作......
“JS是异步的,它会在你修改#main中的任何内容之前准备数据,所以为了正确导出,你需要在执行修改时更新导出的内容,所以更新你的a.href键盘功能。“