TECHTOGOU

javascript - appendChild 无法在 IE 中使用 window.open

coder 2024-05-16 原文

我有一个带有 svg 标签的页面。该页面有一个名为“预览”的按钮,单击该按钮将打开一个包含图像 (svg) 的新窗口。

下面是一段在 Chrome/Firefox 中工作但在 IE 中不工作的代码(我使用的是 IE 9- IE9 标准模式)

var w = window.open();
var svg = $('#chart');              
var svgPrint = svg.cloneNode(true);
svgPrint.setAttribute('xmlns','http://www.w3.org/2000/svg');
w.document.body.appendChild(svgPrint);

如有任何建议,我们将不胜感激。

谢谢。

最佳答案

IE 将阻止追加在与元素追加到的窗口上下文不同的窗口上下文中创建的任何元素。

var childWindow = window.open('somepage.html');

//will throw the exception in IE
childWindow.document.body.appendChild(document.createElement('div'));

//will not throw exception in IE
childWindow.document.body.appendChild(childWindow.document.createElement('div'));

关于javascript - appendChild 无法在 IE 中使用 window.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017682/

有关javascript - appendChild 无法在 IE 中使用 window.open的更多相关文章

  1. c# - 使用 List.Sort(Comparison<T> comparison) 在 C# 中对列表进行排序 - 2

    我创建了一个类如下:publicclassStringMatch{publicintline_num;publicintnum_of_words;}我已经创建了一个列表List<StringMatch>sm;里面的元素很少。如何使用Comparison<T>对列表进行排序比较过载?必须根据num_of_words进行排序字段。 最佳答案 您可以编写lambda表达式来比较两个对象,如下所示:sm.Sort((x,y)=>x.num_of_words.CompareTo(y.num_of_words));

  2. c# - 为 WCF 实现接口(interface)时不能使用可选参数 - 2

    在我的界面中我已经声明了这一点。[OperationContract][WebGet]StringGetStuff(Stringbeep,Stringboop="toolazytotype");我是这样实现的。StringGetStuff(Stringbeep,Stringboop="toolazytotype"){...}它编译并上传为我的WCF服务。但是,当我将它用作Web引用并尝试执行下面的代码时,编译器提示说没有带有单个参数签名的方法。最后一行是问题所在。我怎么能懒得打字默认?ServiceClientclient=newServiceClien

  3. c# - 使用反射检查 IEnumerable<T> - 2

    编辑这个问题的基本版本是,如果我有一些objecto,我将如何检查o是否属于实现IEnumerable<string>的某种类型有反射(reflection)?最初的问题要具体得多,但对上述问题的回答也一样好。对不起,如果我在这个问题上给出了太多的细节结束编辑以下是一个设计的ValueInjecterPOC。除isCollectionMapping外一切正常方法在最底层。当且仅当源属性和目标属性都是实现IEnumerable<respectiveTypes>的任何对象时,我试图让它返回true.我试过了IsAssignableFrom还有IsInstanceOf

  4. c# - 如何让 EF Core 数据库首先使用枚举? - 2

    我将EFCore与数据库优先方法结合使用,使用“Scaffold-DbContext”命令生成我的DbContext/实体。我如何指示Scaffold-DbContext某个表中的某个字段应该生成代码以使用Enum而不仅仅是int?这就是您过去在常规EF中的做法:https://www.devu.com/cs-asp/lesson-69-mapping-enum-types-entity-properties-framework-designer/例子此枚举已在代码中定义:publicenumStateEnum{Ok=1,Fail=2}这就是Scaffold-DbContext给我的东

  5. C# 以编程方式更改应用程序语言 UWP 实时 - 2

    在我的应用程序中,每种语言的字符串资源都是单独存储的,并根据语言环境的类型显示。我想更改应用程序设置中的语言。我如何实现在语言选择后立即将其应用到用户界面中? 最佳答案 我们可以使用ApplicationLanguages.PrimaryLanguageOverride在运行时更改语言而无需重新启动应用程序。例如:我有两种语言支持“en”和“fr”,本地化消息将显示在文本block中。使用Windows.Globalization添加;将默认语言从“en”更改为“fr”ApplicationLanguages.PrimaryLang

  6. c# - 序列化同一个类中的多个 DateTime 属性,每个属性使用不同的格式 - 2

    我有一个具有两个DateTime属性的类。我需要用不同的格式序列化每个属性。我该怎么做?我试过:JsonConvert.SerializeObject(obj,Formatting.None,newIsoDateTimeConverter{DateTimeFormat="MM.dd.yyyy"});此解决方案对我不起作用,因为它将日期格式应用于所有属性。有没有办法用不同的格式序列化每个DateTime属性?也许有一些属性? 最佳答案 处理这种情况的一种直接方法是将IsoDateTimeConverter子类化,为您需

  7. c# - 如何在 Winform 中使用多线程? - 2

    我是多线程新手。我有一个带有标签和进度条的winform。我想显示处理结果。首先,我使用Application.DoEvents()方法。但是,我发现表格很僵硬。然后我在MSDN上阅读了一些关于多线程的文章。其次,我使用BackgroundWorker来完成它。this.bwForm.DoWork+=(o,arg)=>{DoConvert();};this.bwForm.RunWorkerAsync();表单不会卡住,我可以在处理时拖放。不幸的是,它会抛出InvalidOperationException。所以我必须使用这个。Control.CheckForIllegalCros

  8. c# - 如何使用 SharpSSH 以编程方式从 SFTP 服务器删除文件? - 2

    如何使用TamirGal的SharpSSH从SFTP服务器删除文件?我已经能够完成除删除之外的其他功能。 最佳答案 SshExec类对我不起作用,但一点反射魔法起作用了:varprop=sftp.GetType().GetProperty("SftpChannel",BindingFlags.NonPublic|BindingFlags.Instance);varmethodInfo=prop.GetGetMethod(true);varsftpChannel=methodInfo.Invoke(sftp,null)

  9. c# - 使用 C# 和 LINQ 比较两个大型字符串列表的最佳方法? - 2

    我有一个很大的列表(约110,000个字符串),我需要将其与类似大小的列表进行比较。列表A来自1个系统。列表B来自一个SQL表(我只能读取,没有存储过程等)查找列表A中不再存在于列表B中的值的最佳方法是什么?在数组中处理100,000个字符串是否很大?谢谢 最佳答案 所以你有两个这样的列表:List<string>listA;List<string>listB;然后使用Enumerable.Except:List<string>except=listA.Except(listB).ToList()

  10. c# - 在 Windows 服务中使用 Thread.Sleep() - 2

    我正在编写一个需要长时间休眠的Windows服务(最长休眠时间为15小时,最短时间为30分钟)。我目前正在使用Thread.Sleep(calculatedTime)将我的代码置于sleep模式。Thread.Sleep是最好的选择还是我应该使用计时器?我已经用谷歌搜索了一段时间,但找不到简洁的答案。由于这是一个Windows服务,我不必担心锁定UI,所以我想不出不使用Thread.Sleep的理由。如有任何见解,我们将不胜感激。 最佳答案 我会使用计时器Thread.Sleep,它可能会导致阻塞,从而阻止服务关闭。如果间隔如此广泛

随机推荐

  1. c# - 使用 C# 和 LINQ 比较两个大型字符串列表的最佳方法? - 2

    我有一个很大的列表(约110,000个字符串),我需要将其与类似大小的列表进行比较。列表A来自1个系统。列表B来自一个SQL表(我只能读取,没有存储过程等)查找列表A中不再存在于列表B中的值的最佳方法是什么?在数组中处理100,000个字符串是否很大?谢谢 最佳答案 所以你有两个这样的列表:List<string>listA;List<string>listB;然后使用Enumerable.Except:List<string>except=listA.Except(listB).ToList()

  2. c# - String对象真的是通过引用吗? - 2

    这个问题在这里已经有了答案:Howarestringspassedin.NET?(3个答案)关闭8年前。我一直在学习(新手).NET,我有一些疑问。阅读一本书的例子,我了解到String是对象然后是引用类型。所以,我做了这个测试,结果与我预期的不同:我很好奇,这是一个异常(exception),因为“字符串”是特殊类型吗?classProgram{staticvoidMain(string[]args){SBytea=0;Byteb=0;Int16c=0;Int32d=0;Int64e=0;strings="";Exceptionex=newException();ob

  3. C#:自定义程序集目录 - 2

    假设我们有一个应用程序,它包含一个可执行文件和5个库。通常所有这些都将包含在一个目录中,库将从那里加载。是否可以这样做,例如,我可以将一些库放在一个名为Lib的目录中,而将其余的库放在一个名为Lib2的目录中?这样应用程序目录将只包含可执行文件本身,而其他程序集将包含在各种逻辑目录中。我该怎么做?我想知道如何加载程序集,以及如何构建应用程序将程序集放在正确的目录中。 最佳答案 您可以向您的app.config添加额外的搜索路径,它会在其中查找以加载程序集。例如<runtime><assemblyBindingxml

  4. c# - 在没有 NativeMethods 的情况下,如何找到给定 hWnd 的窗口的位置/位置? - 2

    我目前正在使用WatiN,发现它是一个很棒的Web浏览自动化工具。但是,截至上一个版本,它的屏幕捕获功能似乎有所欠缺。除了一些thisStackOverflowquestion之外,我已经想出了一个可行的解决方案来从屏幕上捕获屏幕截图(独立生成类似于codebyCharlesPetzold的代码).不幸的是,缺少一个组件:实际窗口在哪里?WatiN方便地向您提供浏览器的hWnd,因此我们可以(通过这个简化的示例)设置为从屏幕复制图像,如下所示://browseriseitheranWatiN.Core.IEoraWatiN.Core.FireFox...IntPtrhWnd=brows

  5. c# - 在 Windows 服务中使用 Thread.Sleep() - 2

    我正在编写一个需要长时间休眠的Windows服务(最长休眠时间为15小时,最短时间为30分钟)。我目前正在使用Thread.Sleep(calculatedTime)将我的代码置于sleep模式。Thread.Sleep是最好的选择还是我应该使用计时器?我已经用谷歌搜索了一段时间,但找不到简洁的答案。由于这是一个Windows服务,我不必担心锁定UI,所以我想不出不使用Thread.Sleep的理由。如有任何见解,我们将不胜感激。 最佳答案 我会使用计时器Thread.Sleep,它可能会导致阻塞,从而阻止服务关闭。如果间隔如此广泛

  6. c# - C++ .NET 正在消亡吗? - 2

    我在某处听说微软将把精力集中在C#而不是.NET平台的C++上。由于GUI设计器可用于C#而不是C++,我可以看到这是真的迹象。所以我想知道.NET中的C++是否正在消亡,以及它在未来是否会继续仅次于C#。 最佳答案 如果您在应用程序开发中以.NET框架为目标,那么与C#相比,C++/CLI是二等公民。C#是专为.NET框架设计的语言,同时C++/CLI扩展允许开发人员桥接native代码和托管代码。但是不要将C++与C++/CLI混淆(C++.NET是同一回事...)。C++在内核、游戏、高性能和服务器应用程序(例如SQL服务器)

  7. c# - 如何摆脱选中的列表框选择突出显示效果? - 2

    当在选中的列表框中单击一个项目时,它会突出显示。我怎样才能防止这种突出效果?我可以连接到SelectedIndexChanged事件并清除选择,但突出显示仍然发生并且您会看到一个光点。事实上,如果您按住鼠标单击,在单击复选框区域后从未松开它,则所选内容会一直突出显示,直到您释放鼠标按钮。我基本上想完全摆脱这种突出显示效果。 最佳答案 使用以下内容:privatevoidcheckedListBox1__SelectedIndexChanged(objectsender,EventArgse){checkedListBox1.Clea

  8. c# - Web API2 NinjectWebCommon.cs 没有出现 - 2

    我正在使用VisualStudio2013中的空WebAPIFramework4.5。显然NinjectWebCommon.cs没有出现。我是通过Nuget安装的,注入(inject),Ninject.Web.Common,Ninject.MVC5,Ninject.Web.Common.WebHost,Ninject.Web.WebApi,Ninject.web.WebApi.WebHost但是NinjectWebCommon.cs仍然没有出现。我还需要安装什么?我可以手动添加该文件吗?谢谢 最佳答案 看起来最新的Ninject.W

  9. c# - 如何停止 .Net Core Web API 中的自引用循环? - 2

    我遇到了一些问题,我猜这些问题与使用.NETCoreWebAPI和EntityFrameworkCore的自引用有关。当我为某些导航属性添加.Includes时,我的WebAPI开始阻塞。我在较旧的WebAPI中找到了一个解决方案,但我不知道如何为.NETCoreWebAPI实现相同的解决方案(我仍处于早期学习阶段)。旧的解决方案是将其粘贴在Global.asax的Application_Start()中:GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoop

  10. c# - 如何对 Visibility 属性进行简单的 XAML (WPF) 条件绑定(bind) - 2

    我有一个带有属性的View模型:publicclassMyModel{publicboolIsEnabled{get;set;}}我想使用这个属性来切换按钮状态。如果bool值为真,我想隐藏按钮,否则显示它。我试过这样的事情:<ButtonVisibility="{BindingIsEnabled?Hidden:Visible}">Enable</Button>但这不合适。我尝试了一些更复杂的解决方案,但我猜我遗漏了一些微不足道的东西。有什么建议吗? 最佳答案 因为你想在Hidden和Visi