Javascript 如何设置;实际尺寸“;及;肖像画;从书签中的Google Sheets打印对话框中的选项

Javascript 如何设置;实际尺寸“;及;肖像画;从书签中的Google Sheets打印对话框中的选项,javascript,google-sheets,Javascript,Google Sheets,我有谷歌文档的电子表格,我需要偶尔编辑和重印。默认情况下,打印选项设置为“每页重复行标题”,布局设置为“适合宽度”和“横向” 我创建了一个bookmarklet,以更改设置,取消选中行标题,选中“无网格线”,并更改为“实际大小”和“纵向”。更改行标题和网格线的代码非常简单,但我无法使布局选项正常工作 我的守则如下: javascript:( function(){ var fc = function(e) { var event = new MouseEvent('click', {'v

我有谷歌文档的电子表格,我需要偶尔编辑和重印。默认情况下,打印选项设置为“每页重复行标题”,布局设置为“适合宽度”和“横向”

我创建了一个bookmarklet,以更改设置,取消选中行标题,选中“无网格线”,并更改为“实际大小”和“纵向”。更改行标题和网格线的代码非常简单,但我无法使布局选项正常工作

我的守则如下:

javascript:(
function(){
  var fc = function(e) {
  var event = new MouseEvent('click', {'view': window,'bubbles':    true,'cancelable': true });
  e.dispatchEvent(event);
};
var pdl = document.getElementsByClassName("print-dialog");
if (pdl.length > 0)
{
    var pd = pdl[0];
    var pr = document.getElementById("print-repeat-row-headers");
    if (pr.getAttribute("aria-checked") === "true")
    {
      fc(pr);
    }
    var ng = document.getElementById("print-omit-gridlines");
    if (ng.getAttribute("aria-checked") === "false")
    {
      fc(ng);
    }
    var radios = pd.getElementsByClassName("jfk-radiobutton");
    if (radios.length > 0)
    {
      for (i=0; i < radios.length; ++i)
      {
        var radio = radios[i].childNodes[0];
        var lbl = radios[i].childNodes[1].childNodes[0];
        var attr = lbl.getAttribute("for");
        if (attr == "print-actual-size"
            || attr == "print-portrait")
        {
          console.log("found radio");
          /* add checked attributes */
          radios[i].setAttribute("class", "jfk-radiobutton jfk-radiobutton-checked");
          radios[i].setAttribute("aria-checked", "true");
          radios[i].setAttribute("tabindex", "0");
          radios[i].parentElement.setAttribute("class", "print-layout-container print-radio-checked");
        }
        else if (attr == "print-fit"
            || attr == "print-landscape")
        {
          /* remove checked attributes */
          radios[i].setAttribute("class", "jfk-radiobutton");
          radios[i].setAttribute("aria-checked", "false");
          radios[i].removeAttribute("tabindex");
          radios[i].parentElement.setAttribute("class", "print-layout-container");
        }
      }
    }
  }
})()
javascript:(
函数(){
var fc=函数(e){
var event=newmouseevent('click',{'view':window,'bubbles':true,'cancelable':true});
e、 调度事件(事件);
};
var pdl=document.getElementsByClassName(“打印对话框”);
如果(pdl.length>0)
{
var pd=pdl[0];
var pr=document.getElementById(“打印重复行标题”);
if(pr.getAttribute(“aria已选中”)=“true”)
{
财务总监(公关);
}
var ng=document.getElementById(“打印忽略网格线”);
if(ng.getAttribute(“选中了aria”)=“false”)
{
fc(ng);
}
var radios=pd.getElementsByClassName(“jfk radiobutton”);
如果(radios.length>0)
{
对于(i=0;i
现在的情况是,对话框上的布局选项似乎会发生变化,但当我点击“打印”时,它仍将处于横向(在这种情况下,无法100%确定实际大小/适合宽度是否有任何作用),并且当我从同一张纸返回到“打印”对话框时,布局选项会重置

在上面的代码之前,我尝试的第一件事是使用
收音机上的点击事件,它的父项,标签。。。但是显示的选项根本没有改变,这就是我试图直接编辑属性的原因

那么,有人知道我如何正确地获得对话框选项来更改和坚持打印吗