第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

通過側(cè)邊欄按鈕設(shè)置文本的 setSelection() - 如何使其成為活動選擇?

通過側(cè)邊欄按鈕設(shè)置文本的 setSelection() - 如何使其成為活動選擇?

aluckdog 2023-07-20 10:53:33
背景:我正在谷歌市場插件中使用該setSelection()方法來獲取谷歌文檔。單擊附加組件側(cè)邊欄上的相關(guān)按鈕時(shí),會按預(yù)期選擇文本。但是,此選擇未激活 - 即所選文本以淺灰色而不是淺藍(lán)色突出顯示(請參見下面的示例)?,F(xiàn)在:?我需要的:?這是因?yàn)闉g覽器選項(xiàng)卡的最后一個(gè)活動部分是側(cè)邊欄(單擊按鈕后),而不是實(shí)際文檔。問題:有沒有辦法讓按鈕單擊選擇文本并使文檔保持活動部分?目標(biāo):Ctrl + C此選擇的全部目的是通過鍵盤復(fù)制所選文本,當(dāng)選擇未激活時(shí)這是不可能的?,F(xiàn)在用戶需要使用鼠標(biāo)右鍵單擊并Copy從菜單中選擇...
查看完整描述

2 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

在客戶端代碼中,使用google.script.host.editor.focus()使編輯器上的選擇成為活動選擇。


function showSidebar(){

? var ui = DocumentApp.getUi();

? var html = '<div>Hello world!</div>'

? html += '<div><button onclick="google.script.host.editor.focus()">Click me!</button></div>';

? ui.showSidebar(HtmlService.createHtmlOutput(html));

}

在 Google Workspace 中移動瀏覽器焦點(diǎn)

要將用戶瀏覽器中的焦點(diǎn)從對話框或側(cè)邊欄切換回 Google 文檔、表格或表單編輯器,只需調(diào)用方法 google.script.host.editor.focus() 即可。此方法與文檔服務(wù)方法 Document.setCursor(position) 和 Document.setSelection(range) 結(jié)合使用特別有用。


查看完整回答
反對 回復(fù) 2023-07-20
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

解決方案

由于您的目標(biāo)是復(fù)制所選文本,我想提出一個(gè)替代解決方案:


現(xiàn)在,任務(wù)將直接包括復(fù)制功能,除了單擊按鈕之外,無需其他用戶輸入。它將這樣開發(fā):


文本選擇

通過單擊按鈕觸發(fā) Apps 腳本功能來獲取所選文本:


//... Your custom logic to get the text selection

var text-to-copy = doc.setSelection(x)

                      .getSelection()

                      .getRangeElements()

                      .map(re => re.getElement()

                                   .asText()

                                   .getText())

                      .join(" ");

return text-to-copy;

我們無法從 Apps 腳本訪問用戶剪貼板,但successHandler可以使用 a 將text-to-copy變量傳遞到客戶端界面。


處理服務(wù)器端返回值

通過以下方式,我們可以將文本傳遞回 HTML 側(cè)邊欄。


<!-- HTML Interface Index.html -->


<button onclick="google.script.run.withSuccessHandler(copyToClipboard).setSelection()">

   Click Here

</button>

<script>

    function copyToClipboard(text) {

        const elem = document.createElement('textarea');

        elem.value = text;

        document.body.appendChild(elem);

        elem.select();

        document.execCommand('copy');

        document.body.removeChild(elem);

    }

</script>

現(xiàn)在,我們可以利用本機(jī)客戶端功能將該文本直接復(fù)制到用戶剪貼板,而無需在Ctrl+C腳本完成后讓她/他復(fù)制。


在這種情況下,一個(gè)好的做法是在復(fù)制過程完成后向用戶提供視覺反饋。


查看完整回答
反對 回復(fù) 2023-07-20
  • 2 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號