Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

17
动态设置嵌套对象的属性
我有一个对象,它可以是任意多个级别的深度,并且可以具有任何现有属性。例如: var obj = { db: { mongodb: { host: 'localhost' } } }; 在此我想设置(或覆盖)属性,如下所示: set('db.mongodb.user', 'root'); // or: set('foo.bar', 'baz'); 属性字符串可以具有任何深度,并且值可以是任何类型/事物。 如果属性键已经存在,则不需要合并对象和数组作为值。 前面的示例将产生以下对象: var obj = { db: { mongodb: { host: 'localhost', user: 'root' } }, foo: { bar: baz } }; 如何实现这种功能?

3
如何将JSON保存到本地文本文件
说我有一个看起来像这样的javascript对象: var data = { name: "cliff", age: "34", name: "ted", age: "42", name: "bob", age: "12" } var jsonData = JSON.stringify(data); 我将其字符串化以转换为JSON。如何将此JSON保存到本地文本文件,以便可以在记事本等中打开它。
84 javascript  json 

10
使用浏览器后退按钮时如何强制重新加载页面?
我需要以某种方式检测到用户已按下浏览器的后退按钮,并使用jquery重新刷新页面(重新加载内容和CSS)。 如何通过jquery检测此类动作? 因为现在如果使用浏览器中的“后退”按钮,某些元素将不会重新加载。但是,如果我使用网站中的链接,则所有内容都会刷新并正确显示。 重要! 有些人可能误会了我想要的东西。我不想刷新当前页面。我想刷新按下后退按钮后加载的页面。这是我更详细的意思: 用户正在访问第1页。 在第1页时-他点击了第2页的链接。 他被重定向到page2 现在(重要的部分!),他单击浏览器中的“后退”按钮,因为他想返回到第1页 他回到了page1上-现在正在重新加载page1,并且出现类似“您回来了!”的警报。

11
react-router(v4)如何返回?
试图弄清楚如何返回上一页。我在用[react-router-v4][1] 这是我在第一个登录页面中配置的代码: <Router> <div> <Link to="/"><div className="routerStyle"><Glyphicon glyph="home" /></div></Link> <Route exact path="/" component={Page1}/> <Route path="/Page2" component={Page2}/> <Route path="/Page3" component={Page3}/> </div> </Router> 为了转发到后续页面,我只需执行以下操作: this.props.history.push('/Page2'); 但是,如何返回上一页?尝试了以下一些事情,但没有运气:1。this.props.history.goBack(); 给出错误: TypeError:null不是对象(评估“ this.props”) this.context.router.goBack(); 给出错误: TypeError:null不是对象(评估“ this.context”) this.props.history.push('/'); 给出错误: TypeError:null不是对象(评估“ this.props”) Page1在下面发布代码: import React, {Component} from 'react'; import {Button} from 'react-bootstrap'; class Page1 extends Component { …



10
如何注销我使用OAuth2登录Google的应用程序?
在我的应用程序中,我使用jsapi实现了Google注销。 我使用网址https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx连接到Google,然后使用https://www.googleapis.com/plus/v1/people/xxxxxx来获取用户数据来自Google个人资料。 现在,我需要在我的应用程序中单击一个按钮的同时从Google登出该用户。如何使用JavaScript实现此功能,或者至少在用户每次登录时都必须询问Google登录页面。 我已经尝试过approval_prompt=force,但是似乎没有用。

4
WebView方法在同一线程上出错
我有一个android程序(在webview中为Java + html)。我可以从javascript调用Java代码。但是另一种方式停止了工作(在Eclipse中更新之后)。 所以这就是我想要做的 制作网络视图(有效) 在JavaScript中调用AndroidFunction.test(); (工作) java test()函数调用webView.loadUrl(“ javascript:helloBack()”); (!不再工作了) 我试图让它与MainActivity中的WebView一起使用,但是没有起作用。 MainActivity.java public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final WebView webView = (WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient()); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); javascr = new Javascript(this, webView); webView.addJavascriptInterface(javascr, "AndroidFunction"); webView.loadUrl("file:///android_asset/www/index.html"); .... } Java脚本 public class Javascript { Context cont; …

8
将正确/错误绑定到Knockout JS中的单选按钮
在我的视图模型中,我有一个IsMale值,该值的值为true或false。 在我的用户界面中,我希望将其绑定到以下单选按钮: <label>Male <input type="radio" name="IsMale" value="true" data-bind="checked:IsMale"/> </label> <label>Female <input type="radio" name="IsMale" value="false" data-bind="checked:IsMale"/> </label> 我认为的问题是checked期望一个字符串“ true” /“ false”。所以我的问题是,如何获得带有此UI和模型的2向绑定?

18
尝试使用JavaScript验证URL
我想验证URL并显示消息。下面是我的代码: $("#pageUrl").keydown(function(){ $(".status").show(); var url = $("#pageUrl").val(); if(isValidURL(url)){ $.ajax({ type: "POST", url: "demo.php", data: "pageUrl="+ url, success: function(msg){ if(msg == 1 ){ $(".status").html('<img src="images/success.gif"/><span><strong>SiteID:</strong>12345678901234456</span>'); }else{ $(".status").html('<img src="images/failure.gif"/>'); } } }); }else{ $(".status").html('<img src="images/failure.gif"/>'); } }); function isValidURL(url){ var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; if(RegExp.test(url)){ return true; }else{ return false; } } 我的问题是,即使输入正确的网址,它也会显示一条错误消息,直到它与正则表达式匹配为止,即使该网址类似于,它也会返回true …

2
在display:none元素内提交表单字段
我有一个很长的表格,分为6个步骤。加载表单后,将加载所有步骤,但是只有第一步可见。其余的具有CSS,display:none因此它们是隐藏的。完成一个步骤并使用Javascript进行验证后,当前步骤将设置为display:none,新步骤将设置为display:block。在最后一步,用户提交表单。但是,正如预期的那样,仅display:block提交页面上元素中的字段。元素中所有完成的字段都将display:none被忽略。 有没有一种方法可以提交display:none元素内的字段? 如果没有,还有其他方法可以达到相同的效果吗?
84 javascript  css  forms 

11
如何检测浏览器是否支持HTML5本地存储
ls existIE7中的以下代码警报: if(window.localStorage) { alert('ls exists'); } else { alert('ls does not exist'); } IE7并不真正支持本地存储,但这仍然可以警告它。也许这是因为我在IE7浏览器中使用IE9,并在使用IE9开发人员工具的文档模式下使用。也许这只是测试LS是否受支持的错误方法。正确的方法是什么? 另外,我也不想使用Modernizr,因为我仅使用了几个HTML5功能,并且仅加载单个脚本来检测对这几件事的支持是不值得的。
84 javascript  html 

11
如何避免JavaScript中的全局变量?
我们都知道,全局变量只是最佳实践。但是在有些情况下,没有它们很难编写代码。您使用什么技术来避免使用全局变量? 例如,在以下情况下,您将如何不使用全局变量? JavaScript代码: var uploadCount = 0; window.onload = function() { var frm = document.forms[0]; frm.target = "postMe"; frm.onsubmit = function() { startUpload(); return false; } } function startUpload() { var fil = document.getElementById("FileUpload" + uploadCount); if (!fil || fil.value.length == 0) { alert("Finished!"); document.forms[0].reset(); return; } disableAllFileInputs(); fil.disabled = …

8
window.onbeforeunload在iPad上不起作用?
有人知道onbeforeunloadiPad是否支持该活动和/或是否有其他使用方式吗? 我已经做了几乎所有的尝试,似乎onbeforeunload从未在iPad(Safari浏览器)上触发该事件。 具体来说,这就是我尝试过的方法: window.onbeforeunload = function(event) { event.returnValue = 'test'; } window.onbeforeunload = function(event) { return 'test'; } (以上两者共同) window.onbeforeunload = function(event) { alert('test')'; } (以上所有功能,但内部 <body onbeforeunload="..."> 所有这些都可以在PC上的FF和Safari上运行,但不能在iPad上运行。 此外,在加载页面后,我还执行了以下操作: alert('onbeforeunload' in window); alert(typeof window.onbeforeunload); alert(window.onbeforeunload); 结果分别是: true object null 因此,浏览器确实具有该属性,但是由于某种原因它没有被解雇。 我尝试离开该页面的方法是单击后退和前进按钮,在顶部栏中进行Google搜索,更改地址栏中的位置,然后单击书签。 有谁知道发生了什么吗?我将不胜感激任何输入。 谢谢

12
阻止iPhone放大Web应用程序中的“选择”
我有以下代码: <select> <option value="c">Klassen</option> <option value="t">Docenten</option> <option value="r">Lokalen</option> <option value="s">Leerlingen</option> </select> 在iPhone上的全屏网络应用中运行。 从此列表中选择某项时,iPhone会放大select-element。并且在选择某些内容后不会缩小。 我该如何预防?还是缩小?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.