小编pha*_*tri的帖子

AngularJS:打开一个新的浏览器窗口,但仍保留范围和控制器以及服务

我正在写一个angularJS应用程序.在这个特定的控制器中,我通过该$window.open服务打开一个新的浏览器窗口.但是在新窗口中,所有$scope变量都会丢失.

我尝试使用,window.parent但这不起作用.事实上,在新的浏览器窗口中,所有应用程序服务,控制器或作用域根本不起作用,这是真的吗?有没有办法打开一个新的浏览器窗口,但仍然使新窗口属于旧窗口中相同的角度应用程序?我需要访问一些angularJS服务和打开该新窗口的控制器的范围.这有可能吗?

javascript angularjs angularjs-service angularjs-scope angularjs-controller

29
推荐指数
3
解决办法
6万
查看次数

在团队中工作时svn冲突xcode项目文件

我正在开发一个正在开发iPhone应用程序的团队(大约7人).我们使用SVN进行iPhone代码的源代码控制,我们一直遇到与xcode项目文件和iPhone nib文件冲突的问题.我想有一个问题就是这个问题:如何在Xcode中使用svn合并冲突(文件project.pbxproj)?.我想问一下是否有人提出了令人满意的解决方案.由于我们的团队规模相当不错(7人),每次有人更改代码时手动解决xcode项目文件中的冲突,或者将新对象添加到nib文件中是一个巨大的生产力浪费.苹果工程师在编写自己的iPhone应用程序时是否考虑过这个问题?我一直在寻找一个令人满意的解决方案,使用谷歌和必应,尚未找到.

谢谢,

svn xcode project-management xib nib

6
推荐指数
1
解决办法
2979
查看次数

向服务器发出JSON POST请求,接收二进制响应(Excel文件),如何下载?

我正在尝试对发送JSON数据的服务器进行POST调用.服务器获取JSON数据,进行一些处理,然后发回Excel .xlsx作为响应.我希望浏览器打开"将文件另存为"对话框以供用户保存.我一直在寻找一个干净的解决方案来做到这一点.但是这个问题的一个可能的解决方案JavaScript/jQuery通过POST下载文件和JSON数据建议将Excel文件保存在服务器上,然后发回一个URL链接,然后打开一个iframe供用户下载.这对我来说是不行的,因为用户可以在服务器上创建数千个Excel文件,并且服务器具有有限的节省空间.我希望解决方案能够即时实现.我见过的另一个解决方案建议将数据转换为表单,然后使用表单提交.再次这是一个禁忌,因为我的数据在数百甚至数千个Excel行的范围内.

我的jQuery POST调用:

   $.ajax({
          type: 'POST',
          url: '/server/path',
            data: JSON.stringify(dataSent),
            processData: false,
            success: function(data, textStatus, jqXHR) {

            },
            error: function(result, status, err) {

            },
            contentType: 'application/json',
            dataType: 'application/vnd.ms-excel'
        }); 

在后端我设置了这个:

Response.header("Content-Type","application/vnd.ms-excel")

Response.header("Content-Disposition","attachment; filename = \"export.xlsx \"")

强制浏览器打开"将文件另存为..."对话框的最佳方法是什么?

谢谢,

javascript rest excel jquery json

5
推荐指数
1
解决办法
6604
查看次数

尝试在Internet Explorer(IE)上追加jQuery对象时,jQuery抛出SCRIPT5022:HierarchyRequestError

我正在尝试使用jQuery插入HTML表作为div元素的子节点.我的代码看起来像这样:

var table = $('#tableId').clone();

$('#divId').append(table);
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

这个代码在Chrome和Firefox上运行良好,没问题,但是当我在Internet Explorer(IE)10上测试时,IE控制台会抛出这样的错误:

SCRIPT5022:HierarchyRequestError

我的互联网搜索指向我这个MSDN文档:

http://msdn.microsoft.com/en-us/library/ie/gg592979(v=vs.85).aspx

它指定错误消息:无法在请求的位置插入节点.但为什么 ?

我试过prepend(),同样的错误.出于某种原因,我无法使用table.appendTo().appendTo不适用于所有3个浏览器.

如果有人可以给我一些线索如何解决这个问题,我将不胜感激.谢谢.

更新:你可以在这个jsFiddle中看到效果:http://jsfiddle.net/phamductri/LSaDA/.尝试Chrome和Firefox,它会工作,然后尝试IE.

更新:将jQuery版本更改为1.11.0或2.1.0将使代码工作.但是如果尝试将表附加到新窗口中的div元素中,则通过引用window.opener.table:$('#divId').append(window.opener.table); 这在IE中不起作用,尽管它适用于Firefox和Chrome.

更新:我发现当我完全跳过jQuery并使用内置的JavaScript函数时,也会发生这种情况.我在这里提出另一个问题:Internet Explorer在尝试从另一个窗口追加一个HTML对象时抛出SCRIPT5022:HierarchyRequestError

html javascript jquery internet-explorer

2
推荐指数
1
解决办法
6996
查看次数

尝试从另一个窗口追加一个HTML对象时,Internet Explorer会抛出SCRIPT5022:HierarchyRequestError

我从一个窗口有一个html表.我通过使用得到了表

var table = document.getElementById('tableId');
Run Code Online (Sandbox Code Playgroud)

然后我用以下方法打开另一个窗口:

window.open('newWindow.html'); 
Run Code Online (Sandbox Code Playgroud)

在这个窗口中,有一个id = divId的div.

现在,如果我尝试通过以下代码从其他窗口追加表:

var cloneTable = jQuery.extend(true, {}, window.opener.table);

var div = document.getElementById('divId');

div.appendChild(cloneTable);
Run Code Online (Sandbox Code Playgroud)

Internet Explorer将抛出此错误:

SCRIPT5022:HierarchyRequestError

我已经搜索了错误代码,如下所示:

http://msdn.microsoft.com/en-us/library/ie/gg592979(v=vs.85).aspx

它说我无法在该位置插入节点.但是,上面的代码在Firefox和Chrome中运行良好.

这里发生了什么以及如何解决这个问题?

谢谢,

PS:我正在使用IE 10

html javascript jquery internet-explorer

2
推荐指数
1
解决办法
1万
查看次数