我正在Ajax.request使用Sencha Touch 2应用程序(包装在PhoneGap中)创建一个远程PHP服务器.
服务器的响应如下:
XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php.原产地
http://localhost:8888不被访问控制允许来源允许的.
我该如何解决这个问题?
我正在开发一个Web应用程序,它需要的一个功能是能够以交互方式下载相当大的文件 - 该文件在服务器上不存在 - 并且完全由从数据库动态加载的数据组成.
目前我正在使用以下代码(不会为你运行,但你可以得到这个想法),其中我添加了一个带文件名的文本框,然后隐藏文本区域包含json样式下载所需的所有文本,然后链接尝试URI下载的功能.
有趣的是,当在chrome中运行时,我得到一个页面,说URI太长而且不能正常工作等,但文件仍然被下载.
"提交的URI太大!请求的URL的长度超过了此服务器的容量限制.无法处理请求.如果您认为这是服务器错误,请联系网站管理员."
无论如何,令人烦恼的是:允许这些下载的页面使用来自上一页的post/get - 因此后退按钮不可用,因为它给了我们:
"确认表单重新提交此网页需要您之前输入的数据才能正确显示.您可以再次发送此数据,但这样做会重复此页面之前执行的任何操作."
page - 我喜欢做的是将这些URI下载产生到一个新选项卡中,因此不需要后退按钮,但添加目标空白没有帮助
另外,如上所述,我也有一个"全部下载"的功能 - 这对我来说是在xampp服务器上本地运行的东西,在谷歌浏览器上 - 然而那些我正在建立应用程序报告按钮不适合他们(他们在使用safari的Mac上,没有机会亲自看到这个并收集信息 - 所以虽然我没有用我有限的信息预期答案,我希望有人可能有一个想法!)
码:
< script >
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
// I tried addin this but no new tab appeared!
//element.target = "_blank:";
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
function download_all() {
var nameElements = document.getElementsByName("name");
var valueElements = document.getElementsByName("text");
for (i = 0; i < nameElements.length; i++) { …Run Code Online (Sandbox Code Playgroud)我正在尝试创建一个可以一次下载多个文件的扩展程序。
为了实现这一点,我正在使用 chrome 下载 api,这是代码(使用 AngularJS):
var fileDownloadProperties = function(raw) {
return {
url: "https:" + raw.url,
filename: sharedDir + "/" + raw.name + "pdf",
saveAs: false
}
};
$scope.status = "";
filesToDownload.forEach(function (raw) {
chrome.downloads.download(fileDownloadProperties(raw));
});
Run Code Online (Sandbox Code Playgroud)
问题在于,当脚本运行时,它会忽略saveAs选项,并继续打开另存为对话框(名称和位置正确传递,因为它们是对话框中的默认值,但可能会被覆盖)。
虽然它确实允许我下载,但它并不是很有用,因为我可以有数十个文件(并且只有在上一个文件下载完成后才会打开下一个保存对话框!)。
有没有办法强制 chrome 以静默方式同时下载文件?我尝试了其他解决方案(如下面的代码),但似乎没有一个能避免打开对话框。
var a = document.createElement("a");
a.href = files[0];
a.download = files[0];
a.click();
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢。
javascript google-chrome download google-chrome-extension angularjs
我正在寻找一种快速方法来下载我可以在开发人员工具的网络选项卡中看到的所有图像?它们以 data:image/png;base64 链接的形式出现。您可以将它们单独打开到一个新选项卡中,然后从那里手动保存它们,但这似乎是唯一的方法。保存整个网页或 .har 文件似乎无法捕获它们。我尝试过的任何插件都没有剂量。:/
有没有一种快速的方法可以拯救他们所有人?因为手动执行此操作将花费一生的时间。
最好的问候,马特
javascript ×5
ajax ×2
download ×2
angularjs ×1
cors ×1
cross-domain ×1
image ×1
jquery ×1
uri ×1