Google Drive是否不再允许从其他网站引用JavaScript文件

Does Google Drive no longer allow JavaScript file referencing from other website?

本文关键字:网站 其他 引用 JavaScript 文件 Drive 是否 不再 Google      更新时间:2023-09-26

我刚刚注意到,我在谷歌硬盘上托管的所有javascript文件都不再工作,这是谷歌之前正式允许的。所有变量和函数调用都变得未定义(如Chrome控制台中所示),但一直以来,它们都运行良好。以下是我的链接参考:

<script charset='utf-8' src='https://googledrive.com/host/0B_kAR1YCVojTQnlmMXA0cWhfNGM' type='text/javascript'/>

访问权限一直被设置为公共,现在仍然是公共的。在我的HTML文件中,我调用如下所示的函数:

<script type="text/javascript">setDefaultShow(13, 13);</script>

直到最近,这一直运行良好。我能知道还有什么可能出错吗?是否正因为如此,Google Drive不再允许从其他网站引用javascript文件?如果答案是"是",还有其他选择来托管我的javascript文件吗?

提前感谢!

尝试在此处使用直接链接生成器https://sites.google.com/site/gdocs2direct/

步骤1:转到Google Drive,右键单击要共享的文件。现在点击"分享…"。

第2步:在弹出的窗口上,单击"获取可共享链接"。

步骤3:确保下拉菜单设置为"任何有链接的人…"或"互联网上的任何人…"选项,然后单击"复制链接"。

第4步:现在只需将链接粘贴到上面的文本框中,然后创建直接链接。享受

我刚和谷歌通完电话,他们就意识到了这个问题。他们仍然允许在GoogleDrive上托管javascript文件,只是对一些人不起作用,而且已经一天半没有了。在此期间(或者可能从现在开始),我正在使用亚马逊的简单存储服务:http://aws.amazon.com/s3/

我们设法解决了这个问题这似乎与MIME类型有关,对于application/x-jjavascript为MIME类型的JS文件,加载失败(以前它们都很好)mime类型为text/plain的JS文件加载良好。

您可以尝试使用此代码来识别特定文件夹中存在mime问题的文件

var fid = "your-folder-id-here";
function myFunction() {
  var folder = DriveApp.getFolderById(fid);
  var files = folder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    Logger.log(file.getName() + " - " + file.getMimeType());
  }
}

编辑:

谷歌已于2015年9月2日解决了此问题。不再需要以下步骤,如果使用这些步骤,将导致意外的MIME类型控制台警告。然而,我会留下我最初的回应,以防问题再次出现。

 

原始答案:

我能够用这种方法解决这个问题:

  1. gDrive:将所有*.js文件下载到本地驱动器
  2. gDrive:删除所有*.js文件
  3. 本地驱动器:将所有*.js文件批量重命名为*.txt
  4. 本地驱动器:将所有*.txt文件上传到gDrive
  5. 本地驱动器:将所有*.txt文件批量重命名为*.js(即恢复步骤3)
  6. gDrive:单独将所有*.txt文件重命名为*.js(主要问题)

此方法确保gDrive上文件的MIME类型为text/plain,因为您上载的文件扩展名为.txt。当您在gDrive上将文件重命名为.js时,MIME类型将被保留。