Google chrome extension 如何在桌面通知窗口中创建下载链接?
我有一个Google chrome extension 如何在桌面通知窗口中创建下载链接?,google-chrome-extension,Google Chrome Extension,我有一个contextMenu项,它向我网站上的PHP脚本发送Ajax请求 PHP脚本创建一个.txt文件,并再次将下载URL返回到扩展名 在下一步中,将显示桌面通知,我想在那里放置下载链接,以便用户可以下载创建的文件 问题是我不能在那里使用HTML。我不想使用已弃用的createHTMLNotification,因此我的代码是: var url = 'http://mydomain.com/somefile.txt'; var notification = window.webkitNoti
contextMenu
项,它向我网站上的PHP脚本发送Ajax请求
PHP脚本创建一个.txt
文件,并再次将下载URL返回到扩展名
在下一步中,将显示桌面通知
,我想在那里放置下载链接,以便用户可以下载创建的文件
问题是我不能在那里使用HTML。我不想使用已弃用的createHTMLNotification
,因此我的代码是:
var url = 'http://mydomain.com/somefile.txt';
var notification = window.webkitNotifications.createNotification(
'48.png', 'Click to download', 'Some description');
notification.addEventListener('click', function() { // can't create <a> tag, so I'm tring with a click event.
notification.cancel();
window.open(url);
});
notification.show();
var url='1〕http://mydomain.com/somefile.txt';
var notification=window.webkitNotifications.createNotification(
‘48.png’、‘点击下载’、‘一些说明’;
addEventListener('click',function(){//无法创建标记,因此我正在尝试一个click事件。
通知。取消();
窗口打开(url);
});
notification.show();
此(window.open()
)将在新选项卡中打开文件。但我只想下载它,不想在浏览器中打开
有什么想法吗?我找到了一个解决方案,既然没有任何答案,我就写下来 要从给定URL下载文件,您可以使用: 在我的情况下,
forceDownload()
方法是在Ajax'done
方法中调用的:
function exportEntries(info, tab) {
var user = 'blah blah';
$.ajax({
url: 'http://domain.com/export.php',
method: 'POST',
data: { topic: tab.url, user: user }
}).done(function ( url ) {
forceDownload(url);
});
}
再见,谢谢!这种方法有一个问题。一个文件(甚至不同的文件)只会第一次下载。在此之后,直到重新加载扩展后,它才会工作。但是你的评论给了我正确的方向,我找到了我想要的。这是:
function exportEntries(info, tab) {
var user = 'blah blah';
$.ajax({
url: 'http://domain.com/export.php',
method: 'POST',
data: { topic: tab.url, user: user }
}).done(function ( url ) {
forceDownload(url);
});
}