You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Doc中实现点击YouTube链接弹窗播放视频?

在Google Doc中实现YouTube链接弹窗播放功能

我刚好解决过类似的需求——让Google Doc里的YouTube链接能弹窗播放,而不是跳转到浏览器标签页。核心思路是用Google Apps Script添加自定义功能,下面是具体实现步骤:

步骤1:打开脚本编辑器

打开你的Google Doc,点击顶部菜单栏的「工具」→「脚本编辑器」,这会打开Google Apps Script的在线编辑器界面。

步骤2:替换脚本代码

删除编辑器里的默认myFunction()代码,粘贴下面的完整脚本:

// 打开文档时创建自定义菜单
function onOpen() {
  const ui = DocumentApp.getUi();
  ui.createMenu('YouTube工具')
    .addItem('弹窗播放选中的YouTube视频', 'playYouTubePopup')
    .addToUi();
}

// 核心功能:解析链接并弹窗播放
function playYouTubePopup() {
  const doc = DocumentApp.getActiveDocument();
  const selection = doc.getSelection();
  
  // 检查是否有选中内容
  if (!selection) {
    DocumentApp.getUi().alert('请先选中一个YouTube链接!');
    return;
  }
  
  const elements = selection.getRangeElements();
  const firstElement = elements[0].getElement();
  
  // 检查选中的是否是带链接的文本
  if (firstElement.getType() !== DocumentApp.ElementType.TEXT) {
    DocumentApp.getUi().alert('请选中一个带YouTube链接的文本!');
    return;
  }
  
  const textElement = firstElement.asText();
  const link = textElement.getLinkUrl();
  
  if (!link || !isYouTubeLink(link)) {
    DocumentApp.getUi().alert('选中的链接不是有效的YouTube链接!');
    return;
  }
  
  // 提取YouTube视频ID
  const videoId = extractYouTubeId(link);
  if (!videoId) {
    DocumentApp.getUi().alert('无法解析YouTube视频ID,请检查链接格式!');
    return;
  }
  
  // 创建弹窗HTML
  const html = HtmlService.createHtmlOutput(`
    <!DOCTYPE html>
    <html>
      <body style="margin:0; padding:0;">
        <iframe width="800" height="450" src="https://www.youtube.com/embed/${videoId}" 
                frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
                allowfullscreen></iframe>
        <div style="text-align:center; margin-top:10px;">
          <button onclick="google.script.host.close()" style="padding:8px 16px; cursor:pointer;">关闭弹窗</button>
        </div>
      </body>
    </html>
  `).setWidth(820).setHeight(500);
  
  // 显示弹窗
  DocumentApp.getUi().showModalDialog(html, '播放YouTube视频');
}

// 辅助函数:判断是否为YouTube链接
function isYouTubeLink(url) {
  return url.includes('youtube.com/watch') || url.includes('youtu.be/');
}

// 辅助函数:提取YouTube视频ID
function extractYouTubeId(url) {
  let videoId = '';
  if (url.includes('youtube.com/watch')) {
    const params = new URLSearchParams(new URL(url).search);
    videoId = params.get('v');
  } else if (url.includes('youtu.be/')) {
    videoId = url.split('youtu.be/')[1].split('?')[0];
  }
  return videoId;
}

步骤3:保存并授权脚本

  1. 点击编辑器顶部的「保存」按钮,给你的脚本起个名字(比如「YouTubePopupPlayer」)。
  2. 点击运行按钮(▶️),第一次运行会弹出权限请求窗口,按照提示授权即可(这是你自己编写的脚本,安全可靠)。

步骤4:在Google Doc中使用

  1. 回到你的Google Doc页面,刷新一下,顶部菜单栏会出现新的「YouTube工具」选项。
  2. 选中文档里的任意YouTube链接文本,点击「YouTube工具」→「弹窗播放选中的YouTube视频」,就能看到弹窗加载并播放视频了!

额外说明

  • 脚本支持两种常见的YouTube链接格式:https://www.youtube.com/watch?v=XXX 和 https://youtu.be/XXX。
  • 弹窗的宽高可以通过修改脚本里的setWidth(820)和setHeight(500)以及iframe的宽高来调整。
  • 如果想更贴近「点击链接直接弹窗」的体验,由于Google Doc原生不支持修改链接的默认行为,目前只能通过自定义菜单触发,但这已经是最接近需求的可行方案了。

内容的提问来源于stack exchange,提问作者kazi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:59:40