Javascript 如何设置;实际尺寸“;及;肖像画;从书签中的Google Sheets打印对话框中的选项
我有谷歌文档的电子表格,我需要偶尔编辑和重印。默认情况下,打印选项设置为“每页重复行标题”,布局设置为“适合宽度”和“横向” 我创建了一个bookmarklet,以更改设置,取消选中行标题,选中“无网格线”,并更改为“实际大小”和“纵向”。更改行标题和网格线的代码非常简单,但我无法使布局选项正常工作 我的守则如下:Javascript 如何设置;实际尺寸“;及;肖像画;从书签中的Google Sheets打印对话框中的选项,javascript,google-sheets,Javascript,Google Sheets,我有谷歌文档的电子表格,我需要偶尔编辑和重印。默认情况下,打印选项设置为“每页重复行标题”,布局设置为“适合宽度”和“横向” 我创建了一个bookmarklet,以更改设置,取消选中行标题,选中“无网格线”,并更改为“实际大小”和“纵向”。更改行标题和网格线的代码非常简单,但我无法使布局选项正常工作 我的守则如下: javascript:( function(){ var fc = function(e) { var event = new MouseEvent('click', {'v
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%确定实际大小/适合宽度是否有任何作用),并且当我从同一张纸返回到“打印”对话框时,布局选项会重置
在上面的代码之前,我尝试的第一件事是使用收音机上的点击事件,它的父项,标签。。。但是显示的选项根本没有改变,这就是我试图直接编辑属性的原因
那么,有人知道我如何正确地获得对话框选项来更改和坚持打印吗