Tag: JavaScript

canvas图像跨平台不安全的错误

我有这个代码来创build从不同的服务器URL的canvas图像 function getBase64Image(imageUri) { var canvas = document.createElement("canvas"); ctx = canvas.getContext("2d"); var img = new Image(); img.src = imageUri; img.crossOrigin = "Anonymous"; img.onload = function() { canvas.width = this.width; canvas.height = this.height; ctx.drawImage(img, 0, 0, this.width, this.height); var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); var dataURL = canvas.toDataURL("image/png"); document.getElementById("dummyhiddenField").value = dataURL; }; } 我试图从服务器获取图像,并将其设置为隐藏字段的canvasurl,但只能使用本地图像 根据从stackoverflow的其他答案我设置crossOrigin […]

价值,原型和财产的差异

好! 首先,这个问题来自一个在jQuery世界中挖掘得太深(而且可能会迷路)的人。 在我的研究中,我发现jquery的主要模式是这样的(如果需要更正wellcomed): (function (window, undefined) { jQuery = function (arg) { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init(arg); }, jQuery.fn = jQuery.prototype = { constructor: jQuery, init: function (selector, context, rootjQuery) { // get the selected DOM el. // and returns an array }, method: function () […]

如何获得一个AJAX获取请求等待页面被渲染之前返回一个响应?

我正在为本网站 (Site1)中的页面编写Greasemonkey脚本。 Site1有各种交易和提供,我的GM脚本旨在做到以下几点: 当访问Site1上的一个报价时,该脚本查询Site2以确定该酒店是否也在Site2上列出。 如果是这样,则在Site1上显示来自Site2的search结果。 问题是Site2显示进度条(“加载结果”),然后显示结果。 因此,我的Ajax请求总是返回空的结果,看起来像这样(请参阅红框部分): (点击查看大图) 但是,它实际上应该具有来自Site2的search结果的完整内容,如下所示: (点击查看大图) 我尝试了同步Ajax请求以及GM_xmlhttpRequest无济于事。 这是网站2有问题的进度栏: (点击查看大图) 我怎样才能得到的AJAX请求等待Site2上的search完全呈现之前,返回到Site1的响应? 作为参考, 我的完整工作脚本代码位于pastebin.com 。 这是相关的片段: $(document).ready(function(){ var rewardsSiteResults = $('<div class="panel deal-panel rc-lr"></div>').attr('id', "rewardsSiteResults") .html("<p>" + progressMessageText + "</p> ").append(spinnerGif); $(insertSelector).after(rewardsSiteResults); var addressMap = getAddressOfHotel(); var pinCode = addressMap[pinCodePlaceHolder]; var hotelName = addressMap[hotelNamePlaceHolder]; var queryURL = constructQueryURL(pinCode, hotelName); $.ajaxSetup({async:true, timeout: 5000}); $.get(queryURL,null, […]

反引号调用一个函数

我不知道如何解释这一点,但是当我跑步 console.log`1` 在谷歌浏览器,我得到的输出 console.log`1` VM12380:2 ["1", raw: Array[1]] 为什么是反向调用日志function,为什么它做一个raw: Array[1]的指数raw: Array[1] ? 由Catgocat在JS房间里提出的问题,但除了模板化string的东西之外,没有任何答案是有意义的,这并不适合为什么会发生这种情况。

JavaScript在JavaScript中做什么?

%在JavaScript中做什么? 它是什么以及它做什么的定义将不胜感激。

ToLocaleDateString()在IE11中更改

在IE 11中,我用ToLocaleDateString()得到了有趣的结果。 返回的string在浏览器中看起来很好,例如“2014/1/28 11:00:46 AM”,但是如果我将该值复制并粘贴到纯文本编辑器中,则如下所示:“?1?/? 28?/?2014?11?:?00?:?46??AM“。 有趣的是,如果我将文本粘贴到Microsoft产品中,它看起来很好…问题是,如果您尝试以编程方式使用该值来创builddate,则这是无效的。 你可以通过在IE11中打开一个控制台并创build一个新的date,使用ToLocaleDateString()对它进行testing,然后尝试使用生成的string来创build一个新的date在JavaScript或你select的语言(我'在这里使用ASP.NET …)。 我做错了什么,或者是否有其他方式我应该与JavaScriptdate交互? 我怎样才能摆脱那些时髦的符号? 编辑:感谢下面的评论,我能够找出未显示的字符是什么,他们是从左到右的标记。 根据编辑器将值粘贴到编辑器设置使用的编码中,文本将以不同的方式显示:有时使用“?”,有时不使用。

对象属性名称作为数字

根据官方JavaScript文档,您可以使用整数定义对象字面值属性名称: 另外,您可以使用数字或string来表示属性的名称。 像这样: me = { name: "Robert Rocha", 123: 26, origin: "Mexico" } 我的问题是,你如何引用以整数作为名称的属性? 我尝试了平常的me.123但得到了一个错误。 我能想到的唯一的解决方法是使用for-in循环。 有什么build议么?

(函数(x,y){…})(a,b)是什么? 在JavaScript中的意思是?

我看到了这个function: (function (x, y, data, lbl, dot) { // Function body… })(x, y, data[i], labels[i], dot); 这是什么? 一个函数? 为什么在()放置一个函数定义?

在JavaScript中计算date差异的最佳方法是什么?

我做了一个JavaScript的函数,如VisualBasic的DateDiff。 你给两个date和返回的时间间隔(秒,分,日等…) DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _ ByVal Date1 As Date, ByVal Date2 As Date) as Long 那么计算Javascriptdate差异的最好方法是什么?

通过JavaScript更改CSS伪元素样式

是否有可能通过JavaScript更改CSS伪元素样式? 例如,我想dynamic设置滚动条的颜色,如下所示: document.querySelector("#editor::-webkit-scrollbar-thumb:vertical").style.background = localStorage.getItem("Color"); 我也想能够告诉滚动条隐藏像这样: document.querySelector("#editor::-webkit-scrollbar").style.visibility = "hidden"; 但是,这两个脚本都会返回: Uncaught TypeError:无法读取null的属性'style' 有没有其他的方式去做这件事? 跨浏览器的互操作性并不重要,我只是需要它在webkit浏览器中工作。