我想把网页的某个节点的数据,转换为pdf,发现报错了,有办法在执行JS脚本里执行复杂的JS语句吗?
回答
收藏

我想把网页的某个节点的数据,转换为pdf,发现报错了,有办法在执行JS脚本里执行复杂的JS语句吗?

E
Excel催化剂
2024-05-29 19:42·浏览量:484
E
Excel催化剂
影刀见习开发者
发布于 2024-05-29 19:42484浏览

有没有可能,我在执行JS脚本这里,可以植入比较复杂的内容?例如调用一些其他函数,这些其他函数又有一些事件委托,甚至可以去下载一些js库添加到document的头部?


我想把网页的某个节点的数据,转换为pdf,发现报错了,代码如下:

[错误来源]

详情页截图 > 主流程 > 行2: 执行JS脚本

执行 执行JS脚本 时出错: Message:executeScriptOnFrame : eval function failed. tabId 306255923 frameId 0





function (element, input) {
    // 在此处编写您的Javascript代码
    // element表示选择的操作目标(HTML元素)
    // input表示输入的参数(字符串)
    // 加载 jsPDF 库并执行转换
loadScript("https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js", function() {
    // 等待 jsPDF 加载完成
    const { jsPDF } = window.jspdf;
    const pdf = new jsPDF();




    // 获取要转换的 HTML 内容
    const content = document.querySelector("app-talk-content").outerHTML;




    // 使用 jsPDF.html 方法将 HTML 内容转换为 PDF
    pdf.html(content, {
        callback: function (pdf) {
            // 保存生成的 PDF 文件
            pdf.save('content.pdf');
        },
        x: 10,
        y: 10
    });
});
    return null;
}


// 动态加载 jsPDF 库
function loadScript(url, callback) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.onload = callback;
    script.src = url;
    document.head.appendChild(script);


}


收藏
全部回答1
最新
发布回答
回答