草庐IT

native-web-component

全部标签

javascript - 确定函数是否作为 native 浏览器事件的结果调用

有没有一种方法可以确定给定的函数是否作为native浏览器事件的结果被调用?在现代浏览器中,如果您从源自点击处理程序的范围链调用函数window.open(...),页面将毫无问题地打开。但是,如果您尝试直接调用它,浏览器将生成弹出警告。因此浏览器会跟踪执行上下文并以某种方式对其进行标记,以便函数的首次使用成功。如果没有此标志,它会阻止第二次使用。如果某些函数被直接调用而不是从真正的native浏览器事件中调用,是否有任何方法可以访问此标志以在内部阻止某些函数的执行。我查看了我的函数接收到的事件对象,但我无法发现真正的native事件与通过手动触发事件生成的事件之间有什么不同。我想要的

javascript - react native : can't get ellipsizeMode to work

我正在尝试chop我的响应式(Reactive)应用程序中的文本。我决定使用“ellipsizeMode”属性,但我无法让它工作。我写了一个问题的演示:'usestrict';importReact,{Component}from'react';import{StyleSheet,Text,View,}from'react-native';exportclassEllipsizeModeTestextendsComponent{render(){return({'firstpart|'}{'atexttoolongtobedisplayedonthescreen'});}}consts

javascript - 在 Web 组件中扩展元素时, "is"语法有何意义?

在网络组件中,要注册一个元素,您只需键入:varXFoo=document.registerElement('x-foo',{prototype:Object.create(HTMLElement.prototype)});要创建一个元素,您可以执行以下操作之一:varxFoo=newXFoo();document.body.appendChild(xFoo);varxFoo=document.createElement('x-foo')document.body.appendChild(xFoo);这一切都很好,花花公子。当您谈论扩展现有元素时,问题就开始了。varXFooButto

javascript - 覆盖 native 功能?

原生的document.createElement()是愚蠢的(它只需要一个标签名称,没有属性)。为什么我不能覆盖它?这怎么行不通?varoriginalFunction=document.createElement;document.createElement=function(tag,attributes){varelement=originalFunction(tag);if(attributes){for(varattributeinattributes){element.setAttribute(attribute,attributes[attribute]);}}retur

javascript - Web Audio API 附加/连接不同的 AudioBuffers 并将它们作为一首歌曲播放

我一直在使用WebAudioAPI,尝试加载歌曲的多个部分并将它们附加到新的ArrayBuffer,然后使用该ArrayBuffer将所有部分作为一首歌曲播放。在下面的示例中,我使用相同的歌曲数据(这是一个小循环)而不是歌曲的不同部分。问题是它仍然只播放一次而不是两次,我不知道为什么。Downloadsongfunctioninit(){/***AppendstwoArrayBuffersintoanewone.**@param{ArrayBuffer}buffer1Thefirstbuffer.*@param{ArrayBuffer}buffer2Thesecondbuffer.*/

javascript - 如何使用 Jest 和 Enzyme for React-Native 在单元测试中模拟事件

我正在尝试找出如何在React-Native应用程序中使用Jest测试“onPress”事件,以便确保调用正确的函数。我浏览了文档和谷歌,但无法在React-Native中找到解决方案。这是我发现应该适用于带有enzyme的React-Native的东西:constmockFunc=jest.fn();constcomponent=mount();component.simulate('press');expect(mockFunc).toHaveBeenCalled();但这行不通。似乎mount不起作用,我得到了这个输出:ReferenceError:documentisnotde

javascript - 使用 Javascript 使用 Web 服务

有没有办法使用JavaScript使用Web服务?我正在寻找一种内置的方式来做到这一点,使用JavaScript框架不是一种选择。 最佳答案 您可以使用XmlHttpRequest对象以原生方式使用JavaScript使用Web服务。但是,实例化此对象因浏览器而异。例如,Firefox和IE7+允许您将其实例化为原生JavaScript对象,但IE6要求您将其实例化为ActiveX控件。因此,我建议使用抽象库,例如jQuery。如果这不是一个选项,那么将创建抽象为工厂方法并检查浏览器版本。要使用它来进行Web服务调用,您只需实例化该

javascript - react-native async 函数返回 promise 但不是我的 json 数据?

我正在学习react-native,但遇到了一个问题。为什么在从异步函数返回时获取数据会返回一个promise,但在异步函数本身中,它会正确返回一个对象数组?在componentDidMount()上,我调用我的异步函数,该函数依次获取apiurl:componentDidMount(){letdata=this.getData();console.log(data);//在console.log(json)中,我得到了正确的json对象列表,我可以使用json[0].name访问它们。但稍后,console.log(data)返回一个包含奇数数据的promise:Promise{_4

javascript - Backbone.js Web 应用程序在 Internet Explorer 上不可用

我已经开发了我的Web应用程序,但没有在IE上对其进行测试。尽管它在所有浏览器上都运行良好,即。Chrome、Firefox、Safari,但当涉及到IE时,会有一种奇怪的行为。有时会加载应用程序,有时会加载空白页面,就好像没有任何“绑定(bind)”事件有任何影响一样。幸运的是,当应用程序加载时,导航面板部分丢失了。我现在无法向您展示代码,因为我不确定要展示哪一部分以及哪里做错了。如果你们中的任何人都可以向我提供一份list,说明要检查的内容以及哪些工具最适合在IE上进行调试,那就太好了。如果你们中的任何人能告诉我IE上最常见的backbone.js错误,那也会有所帮助。PS:我正在

javascript - 没有 JSX 的 React.js - "Warning: Something is calling a React component directly. Use a factory or JSX instead"

我试图在没有JSX的情况下使用React.js组件并收到这样的警告:警告:某些东西正在直接调用React组件。改用工厂或JSX。请参阅:http://fb.me/react-legacyfactory我访问过链接,但建议的createFactory解决方案对我没有帮助:/app.jsvarReact=require('react/addons');varTagsInput=React.createFactory(require('./tagsinput'));//noluckvarTagsComponent=React.createClass({displayName:"TagsCom