草庐IT

c# - 防伪 token 竞争条件

我有一个应该是iFramed的MVCView。它的多个实例可能在同一个主机页面中被iFramed。在我看来,我有这个:@Html.AntiForgeryToken()我用它来尝试确保对WebAPI的调用仅来自此页面。我的主机页面可能看起来像这样:在我看来,我获取token并在header中提交它,以便我可以在我的API中检查它:varheaders=actionContext.Request.Headers;varheaderToken=headers.Contains("__RequestVerificationToken")?headers.GetValues("__Request

c# - 从 iFrame 切换到父框架并使用 Selenium Webdriver 在父框架中查找元素。 C#

场景:-我有一个带有iFrame文本编辑器的页面,页面中还有一个按钮。-我从父框架切换到iFrame以从文本编辑器正文中读取-从文本编辑器的正文中读取后,我想单击页面父框架中的按钮。-为此,我尝试使用以下语句从iFrame切换回父框架:webDriver.SwitchTo().DefaultContent();-但我仍然无法找到驻留在父框架中的按钮元素。非常感谢您的帮助!谢谢 最佳答案 这就是你们的回应伙计们。解决了!解决方法:当我使用webDriver.SwitchTo().DefaultContent();时,它会将webDri

c# - 如何在C#中使用WebBrowser控制DocumentCompleted事件?

在开始写这个问题之前,我试图解决以下问题//1.navigatetopage//2.waituntilpageisdownloaded//3.readandwritesomedatafrom/toiframe//4.submit(post)form问题是,如果网页上存在iframe,DocumentCompleted事件将被触发多次(在每个文档完成后)。程序很可能会尝试从未完成的DOM中读取数据,自然会失败。但是在写这个问题时,'Whatif'monster突然启发了我,我解决了我试图解决的问题。由于我在Google上失败了,所以我认为将它发布在这里会很好。privateintifra

c# - 删除仅在登录页面中自动添加的 X-Frame-Options

我正在开发一个ASP.NETMVC应用程序,它需要加载到另一个网站的iframe中。但是登录页面不会出现在iframe中,因为在响应X-Frame-Options中发送了一个header,它被设置为SAMEORIGIN。因此,浏览器未在iframe中显示页面。我已经用谷歌搜索并尝试了多种方法,但没有任何效果。我正在使用ASP.NET表单例份验证。在这种情况下,IIS可能会在登录页面中添加此header以增加安全性。但我需要在我的用例中摆脱它。我尝试添加自定义header但SAMEORGIN仍以逗号添加在header中。我还尝试使用Response.Headers["X-Frame-Op

javascript - 如何使用 Cypress 将数据输入到 iframe 中的表单输入中?

我一直在尝试使用cypress.io测试条纹结帐表单如果有人设法让它工作,请告诉我。我在这里找到了关于此事的线索https://github.com/cypress-io/cypress/issues/136基于此我想出了:cy.get('iframe.stripe_checkout_app').wait(10000).then($iframe=>{constiframe=$iframe.contents()constmyInput0=iframe.find('input:eq(0)')constmyInput1=iframe.find('input:eq(1)')constmyInp

javascript - 以编程方式访问使用数据 URI 作为源的 iframe

我正在使用“数据”URI以编程方式创建一个iframe:Hello.'>​此框架加载正常,但似乎以编程方式使用iframe会遇到跨域安全检查。variframeDoc=document.getElementById('myFrame').contentWindow.document;$(iframeDoc.body).find('h1').text('Changed');在Chrome和Safari中抛出错误:UnsafeJavaScriptattempttoaccessframewithURLdata:text/html;charset=utf-8,...fromframewithU

javascript - 如何从子 javascript 页面访问父 iframe 元素?

我有2个页面:父页面和子页面。在父页面中,我有一个iframe,我想在子页面的JavaScript中获取其值。有什么办法吗?....求指点。 最佳答案 实际上只需要frameElement变量。从内部子文档:variframe=frameElement;大功告成。 关于javascript-如何从子javascript页面访问父iframe元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

javascript - Facebook:如何在应用程序选项卡中删除 iFrame 的垂直滚动条

我已经完成了我的facebbok应用程序,目前在将应用程序作为facebook应用程序选项卡观看时卡住了....:显示垂直滚动条。实际上,我使用了以下代码来自动调整应用程序iframe的大小:window.fbAsyncInit=function(){FB.init({appId:FBAPP_ID,status:true,cookie:true,xfbml:true});FB.Canvas.setAutoResize(100);//FB.Canvas.setSize();};(function(){vare=document.createElement('script');e.asyn

javascript - Angular 2 : Prevent router from adding to history

我们有一个客户在我们的应用程序中使用iFraming访问他们的网站。他们不希望我们应用程序中的路由器导航影响他们自己站点的后退按钮导航。我们已经尝试了几种方法,包括使用发布消息来尝试让iFrame在触发history.back()时与父窗口通信。我的问题是,在使用Angular2的路由器时,是否有任何简单的方法可以不影响浏览器的历史记录。据我所知,我在Angular2的高级路由器文档中找不到任何内容:https://angular.io/docs/ts/latest/guide/router.html 最佳答案 事实证明,Angul

javascript - 使用 JQuery 将事件处理程序添加到 iframe

我想为iframe分配一个按键事件处理程序。类似于纯JS的东西:document.getElementById('iframe_id').contentWindow.addEventListener('keydown',funcName,true);我试过:$(document.getElementById('iframe_id').contentWindow).keydown(function(){//myfunc});但它不起作用..请帮助! 最佳答案 contentWindow是iframe的window对象。您需要ifram