【问题标题】:I have an electron app but the print button is not working我有一个电子应用程序,但打印按钮不起作用
【发布时间】:2020-05-19 20:10:46
【问题描述】:

我为我的网站编写了一个电子应用程序,它只是打开了网站。我的网站使用 jQuery 数据表,我有一个按钮,我单击它会打开一个新选项卡,其中包含 pdf 格式的表并打印它。当我尝试使用电子上的按钮时,它会打开一个新的白色窗口并且什么都没有显示,但它可以在我的网站上使用。如果这是一个超级简单的修复程序,我是电子新手,很抱歉,但我似乎无法在网上找到任何东西,也许我搜索不正确。有什么办法可以让电子应用程序与我的打印按钮一起工作。我使用的打印方法是一个内置的 jQuery 函数。 我的电子密码:

const { app, BrowserWindow } = require('electron')

function createWindow () {
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: false
    }
  })
  win.loadURL('mywebsiteurl')
  win.webContents.openDevTools()
}

app.on('ready', createWindow)

还有我的数据表打印代码

table = $('#studentstable').DataTable({
                    "aaData": data,
                    "dom": 'Bfrtip',
                    "buttons": ['print'],
                    "aoColumns": [
                    { "mData": "studentid"}, 
                    { "mData": "name"},
                    { "mData": "phone"},
                    { "mData": "grade"},
                    { "mData": "category"},
                    { "mData": "totalHours"},
                    { "mData": "studentid",
                        "render": function(data, type, row, meta) {
                                if(type === 'display') {
                                //data = '<a href="#" onclick="getStudentInfo('+ data + ')">Edit</a>' +
                                data = '<a href="#" onclick="addStudentActivity('+ data + ')">Add Hours</a>' +
                                '&nbsp; <a href="#" onclick="deleteStudent(' + data + ')">Delete</a>' +
                                '&nbsp; <a href="#" onclick="getStudentReport(' + data + ')">Report</a>';
                                }
                                return data;
                         }
                     }],
                     "paging":true,
                     "pageLength":20,
                     "ordering":true
               });

如果您希望我添加任何其他内容,请告诉我,我可以发送 谢谢!

【问题讨论】:

    标签: javascript jquery electron


    【解决方案1】:

    只需激活 nativeWindowOpen 状态 就够了

    const { app, BrowserWindow } = require('electron')
        function createWindow () {
          let win = new BrowserWindow({
            width: 800,
            height: 600,
            webPreferences: {
               nodeIntegration: true,
               nativeWindowOpen: true, //**** add this**
            }
          })
          win.loadURL('yoursite')
          win.webContents.openDevTools()
        }
        
        app.on('ready', createWindow)
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多