2014-11-04 254 views
0

我根据在Google表格中定义的位置在Google地图上绘制了一些标记。拒绝从“*”执行脚本,因为它的MIME类型('text/HTML')不可执行

对于一个谷歌表的标志绘制,但如果我做这个工作表的副本,并推出我的网页,我得到这个消息的错误:

Refused to execute script from ' https://script.google.com/a/macros/MYDOMAIN/s/My-Script-ID/exec?Jsonp=callback ' because its MIME type ('text/HTML') is not executable, and strict MIME type checking is enabled.

下面是我的一些JavaScript的HTML页面码。

//.. my html code 

    <script type=application/javascript> 
    var DATA_SERVICE_URL ="https://script.google.com/a/macros/MYDOMAIN/s/MYSCRIPTID/exec?jsonp=callback"; // THIS ONE WORKS 

    //var DATA_SERVICE_URL_COPY = "https://script.google.com/a/macros/MYDOMAIN/s/MYSCRIPTID/exec?jsonp=callback"; // **THIS ONE IS NOT WORKING** (it is linked to the copy of my working google sheet above) 

    //.... 

var scriptElement = document.createElement('script'); 
scriptElement.src = DATA_SERVICE_URL; 
document.body.appendChild(scriptElement); 
document.getElementsByTagName('head')[0].appendChild(scriptElement); 

    function callback(data) { 

    alert("Here am I"); 

    //.. Plotting markers on map 

    } 

    </script> 

当我使用DATA_SERVICE_URL_COPY代替DATA_SERVICE_URL,我得到的消息错误。但是,Google表格都是以相同的选项发布的。

以下是我在这两个Google表格中使用的Google Apps脚本。

var SPREADSHEET_ID = 'MY SPREADSHEET ID'; 
var SHEET_NAME = 'MAP'; 
//------------------------------------------------------------------------------ 

function doGet(request){ 
    var callback = request.parameters.jsonp; 
    var range = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME).getDataRange(); 
    var json = callback + '(' + Utilities.jsonStringify(range.getValues()) + ')' ; 


    return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JAVASCRIPT); 
} 

//------------------------------------------------------------------------------ 

function testDoGet() { 

    var request = {parameters: {jsonp: 'callback'}}; 
    var results = doGet(request); 

    Logger.log(results.getContent()); 
} 

我猜问题来自Google表格,但我不知道究竟在哪里?

有人有线索吗?

+0

近年来..但我认为这个问题是与MIME类型谷歌驱动器,使得它认为所有文件都是text/html。 – Nevermore 2016-07-27 06:19:41

回答

0

也许这是问题。

(线:15)未捕获的SyntaxError:意外的标记<

变化 <script type=application/javascript><script type="application/javascript">

相关问题