我沒有遇到使用拖放API的相同問題。這可能與確保您設置<base target="_top">
有關。下面的腳本是用谷歌文檔編寫的。只需從谷歌圖片中拖出圖片,它就會顯示在對話框中。
code.gs
function onOpen() {
var menu = DocumentApp.getUi().createMenu("Get Image");
menu.addItem("Open Dialog", "openDialog").addToUi();
}
function openDialog(){
var html = HtmlService.createHtmlOutputFromFile('index');
DocumentApp.getUi().showModelessDialog(html, "drag n drop")
}
的index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<style>
span {
display: inline-block;
}
img {
width: 100%;
}
</style>
</head>
<body>
Drag Image Here<br>
<span><img id="img" heigth=></span>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).on('dragover', function(e) {e.preventDefault();return false;});
$(document).on('drop', function(e) {
e.preventDefault();
e.originalEvent.dataTransfer.items[0].getAsString(function(url){
var parser = document.createElement('a');
parser.href = url;
if(parser.hostname === "www.google.com"){
var src = parser.search.split("?")[1].split("&")[0].split("=")[1];
$("#img").attr("src",src);
}else{
alert("please select an image from google images")
}
});
});
</script>
</html>
你嘗試使用HTML5 Web存儲?如果您可以在HTML5 Web存儲中獲得任何想要的內容,那麼您可以從邊欄中檢索它。我會使用會話存儲而不是本地。 [HTML5 Webstorage](http://www.w3schools.com/html/html5_webstorage.asp)您需要在邊欄中添加一個計時器,以便在會話存儲中查詢您的數據是否存在。如果這聽起來像它可能適合你,讓我知道。你可以發佈你的代碼來獲取圖像嗎? –
@SandyGood沒有越來越像截至目前,我的問題:(我想觸發每當圖像被丟棄到文檔的事件。谷歌沒有提供任何下降的事件。我們有一些其他的方式來做到這一點? – RAJ
不知道,我還沒有用過拖放 –