如何以编程方式在供应商功能中设置值chrome.printerprovider API

问题描述

我们已经开发了Chrome扩展程序,该扩展程序为chrome.printerprovider提供了“虚拟”打印机。为了响应 chrome.printerProvider.onGetCapabilityRequested.addListener 事件,我们提供了打印机功能包括一些特定于供应商的功能,这些功能可由最终用户在chrome打印对话框的高级设置中提供。该扩展程序已经运行了好几年没有任何问题。

但是,我们有一个新要求,我们需要以编程方式在供应商功能中设置一个值。功能值的类型为字符串。在高级选项中,它仅显示 name [value] 。问题是Chrome似乎总是“记住”最终用户输入的最后一个值。也就是说,当我们将功能发送到chrome.printerprovider时,我们设置了供应商功能认值和当前值,但是在打印机对话框的高级选项中,该值仍保持不变。 另外, chrome.printerProvider.onPrint 报告票证中的旧值。

我们用于配置功能以响应 chrome.printerProvider.onGetCapabilityRequested 的示例代码

var vendorCaps = capabilities["printer"]["vendor_capability"];
$.each(vendorCaps,function (i,vcap) {
    if (vcap.id === "234") {
        vcap.typed_value_cap.default = "none";  // <= this works
        vcap.value = "new value";               // <= this does not change the value
    }
}

有人知道是否有办法以编程方式更改值并覆盖最终用户手动输入的内容吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)