草庐IT

微前端实现方案之iframe

全部标签

javascript - 通过从构造函数返回现有实例来实现 javascript 实例存储

我正在尝试在Backbone.js中实现我的“实例存储”版本,正如Soundcloud在他们最近的博客文章中所描述的那样:http://backstage.soundcloud.com/2012/06/building-the-next-soundcloud/相关摘录:为了解决这个问题,我们使用了一个我们称之为实例存储的结构。这个存储是一个对象,每次调用模型的构造函数时都会隐式访问和修改它。首次构建模型时,它会将自己注入(inject)到商店中,使用其id作为唯一键。如果使用相同的id调用相同的模型构造函数,则返回原始实例。vars1=newSound({id:123}),s2=new

Javascript:如果它陷入无限循环, parent 可能会杀死 child iframe 吗?

我有一个页面,该页面包含带有外部内容的iframe。我不希望外部内容中的无限循环使我的整个页面崩溃。有什么办法可以解决这个问题。我试图设置一些东西,让父postMessages子iframe每隔一段时间,如果子iframe长时间没有响应,父更改iframesrc,但这似乎不起作用。一旦iframe开始循环,父级的setTimeout函数将不再执行。在这里查看我的代码(请注意,如果执行它会导致选项卡崩溃,请在执行前打开控制台以查看日志记录):varscr='script';varhtml='\n'+'window.addEventListener("message",answer,fal

javascript - JavaScript 中纤程的客户端实现。

AFAIKmeteorjs使用node-fibers,但他们的github页面声明它只是服务器端和v8(或者不是?)。meteorjs如何实现非阻塞的,类似同步的api客户端?是否兼容除chrome以外的其他浏览器?如果有人能指出纤程的纯JS实现,或者解释它们是如何工作的(它们有自己的事件循环吗?),我将不胜感激。任何指向工作客户端光纤实现的github项目的链接也将受到赞赏!毕竟是圣诞节:) 最佳答案 node-fibers项目是Node.js的Windows-only服务器端扩展,用C++实现。您可能永远不会在Web浏览器中看到

javascript - 如何实现一个仅在需要时才修改原始模块的插件?

我有一个扩展原始模块的插件。它应该只在明确需要时修改模块。问题:一旦需要一次,原始模块就会永远被修改,对于插件不是依赖项的情况也是如此。这里的顺序无关紧要,只需要一次插件就足够了。例子:define("main",[],function(){return{opt:"A"};});define("plugin",["main"],function(obj){obj.opt="B";});require(["main","plugin"],function(obj){console.log(obj.opt);//shouldlogB});require(["main"],function(

javascript - 如何为选择列表的自定义指令实现 ng-change?

我的指令使用代码我的指令代码.directive('inputSelect',function(){return{templateUrl:'someTemplate.html',restrict:'E',scope:{ngModel:'=',ngChange:'='}};});我的指令模板因此,当所选项目发生变化时,函数someFunction()被无限次调用(尽管更改只完成一次),应该更改什么以确保someFunction()只调用一次(someFunction()是Controller范围内的一个函数,在该Controller中使用指令)[我确实尝试使用&和@作为ngChange的

javascript - 检查内容是否可以在 iFrame 中显示不起作用

我有以下代码来检查网页是否可以加框:varreq=newXMLHttpRequest();vartest=req.open('GET',link,false);console.log("test",test);//ALWAYSundefinedif(req.send(null)){//ALWAYSthrowserrorNS_ERROR_FAILUREvarheaders=req.getAllResponseHeaders().toLowerCase();console.log("headers");}else{console.log("FAILED");}我用几个链接测试了它,无论是否

javascript - `es2016` 预设的 Babel 是否实现了尾调用优化?

我使用以下示例来测试Babel和es2016预设的尾调用递归:'usestrict';try{functionr(n){if(n%5000===0)console.log(`reachedadepthof${n}`);r(n+1);}r(0);}catch(e){if(!(einstanceofRangeError))throwe;elseconsole.log('stackblown');}我的package.json文件是:{"name":"tail-call-optimization","version":"1.0.0","description":"","main":"inde

javascript - 如何使用 Node.js、Angular.js 和 Firebase 实现无限滚动?

更新8:代码:varconfig={info};firebase.initializeApp(config);varfb=firebase.database().ref("posts/fun");varapp=angular.module('app',['firebase']);app.controller('ctrl',function($scope,$firebaseArray,$timeout){$scope.data=[];var_start=0;var_end=4;var_n=5;$scope.getDataset=function(){fb.orderByChild('id

javascript - 从主页上的 iframe 发送消息

我从这个文档中看到:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage,将数据正确传递到iframe的方法。但是现在我想发送一个答案://frommainpagemyIframe.contentWindow.postMessage('sendmearesponse','*');//fromiframeofmainpagewindow.addEventListener("message",receiveMessage,false);functionreceiveMessage(event){alert(e

javascript - 拦截iframe消息嵌套iframe,跨域

我有一个来自domain1.com的网页,那里有一个domain2.com的iframe,然后我在domain3.com的domain2.com中有另一个iframe我想在domain2.com中拦截来自domain3.com的消息,如果domain2.com不在domain1.com中,则消息会被正确接收,但如果我在domain1.com中有domain2.com,则来自domain3.com由domain1.com而不是domain2.com接收。有没有办法在domain2.com中捕获这些消息?结构是这样的domain1.com有内部iframesrc="domain2.com"