小编Nit*_*Nit的帖子

在html2canvas中将透明颜色更改为白色

我正在使用javascript库html2canvas来保存我的项目表.它工作正常,但是当我保存图像时,它显示PNG的透明背景颜色和jpeg的背景颜色黑色.这是我做的:

<script>
        window.onload = function(){
              html2canvas(document.getElementById("tablePng"),{
                    onrendered: function(canvas){
                    var img = canvas.toDataURL('image/jpeg');
                    $('#saveTable').attr('href',img);
                  }
              });
      };
</script>
Run Code Online (Sandbox Code Playgroud)

执行上述操作将保存图像,但背景颜色将为黑色,更改var img = canvas.toDataURL('image/png');背景时将保持透明.并在文档中添加背景说:

    <script>
        window.onload = function(){
              html2canvas(document.getElementById("tablePng"),{
                    background: "#fff",
                    onrendered: function(canvas){                     
                    var img = canvas.toDataURL('image/jpeg');
                    $('#saveTable').attr('href',img);
                  }
              });
      };
</script>
Run Code Online (Sandbox Code Playgroud)

什么都不会改变......给予透明.

那么如何更改背景底色以便保存的图像可以轻松读取?

html javascript css html2canvas

5
推荐指数
1
解决办法
5248
查看次数

如何在没有jQuery的情况下检测DOM元素突变

假设我有以下HTML:

<div id='content'></div>
Run Code Online (Sandbox Code Playgroud)

我想在这个元素发生高度突变时被警告.我希望MutationObserver类在这方面有所帮助,但这是我的问题:

document.querySelector('#content').style.height = '100px'
Run Code Online (Sandbox Code Playgroud)

它会像预期的那样触发我的回调,但正常的用户交互不会触发这个,例如http://jsfiddle.net/wq4q9/2/

我的问题是,检查元素高度是否发生变化的最佳现代方法是什么?

请不要jQuery.

html javascript mutation-observers

5
推荐指数
1
解决办法
1631
查看次数

是否普遍支持更改元素的ID?

我将不得不在a上切换ID,<div>并且想知道切换元素ID是否会导致任何错误.

有些人不喜欢这样的风格,但这个问题与此无关.我问它是否会导致任何错误,是否会造成不良影响.

html javascript dom

5
推荐指数
1
解决办法
92
查看次数

取消的Touch ID返回未知错误,未取消

长期读者,第一次作家.感谢一个伟大的社区.

我正在开发的应用程序已经实现了应用内购买并且运行良好,但是我遇到了一个奇怪的错误情况,我没有看到明显的解决方案.可以在购买时使用Touch ID的iPhone 5S上看到该场景.当用户选择要购买的项目时,将弹出Touch ID对话框.如果用户取消这个特定的对话框中,SKPayment委托收到一个SKPaymentTransactionStateFailed与事件SKErrorUnknown代码- SKErrorPaymentCancelled为人们所期望的,当我取消密码输入对话框收到什么.由于代码无法将此分类为用户取消购买,因此用户将看到一般错误警报视图.我不认为这是一个沙盒问题,因为购买本身在沙箱和现场测试都很有效.

关于如何将未知错误检测为取消的想法,任何人?

iphone objective-c ios touch-id

5
推荐指数
0
解决办法
348
查看次数

XHTML doctype组件及其存在的原因

我最近使用JQuery和JavaScript开始在客户端开发.说实话,我总是认为DOCTYPE标签是理所当然的,我从未做过多少阅读:http://www.w3schools.com/tags/tag_doctype.asp.据我所知,XHTML 1(共3个)HTML 4.01(共3个)和HTML 5有不同的文档类型.doctype包含以下"HTML 4.01 Transitional"结构:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
Run Code Online (Sandbox Code Playgroud)

我不明白原因:-//W3C//DTD HTML 4.01 Transitional//EN.当然DTD路径足够了吗?我也不明白为什么这么难记,例如为什么不说:W3C HTML 4.01 Transitional.我意识到这是有原因的,但我找不到它是什么.

我花了最后几个小时寻找答案,但没有运气,因此问题的原因.

html doctype

5
推荐指数
1
解决办法
89
查看次数

null 和 undefined 对于显式使对象无法访问是否同样有效?

根据对相关问题的回答,如果您希望对象被垃圾收集,最好使对象明确不可用。
对于所有实际意图和目的,是用null值还是用undefined值来完成这件事重要吗?

简而言之,垃圾收集器是否可以同等访问以下两个对象(无论它们最初可能引用什么)?

window.foo = null;
window.bar = void 0;
Run Code Online (Sandbox Code Playgroud)

javascript garbage-collection

5
推荐指数
1
解决办法
1034
查看次数

如何仅使用具有display:block的div填充JavaScript数组?

我试图使用jQuery在JavaScript中填充数组.我<div>在a中有一些元素,<section>只希望<div>可见的元素(通过CSS属性display: block)添加到数组中.

HTML:

<section id="container">
    <div>shows up 1</div>
    <div style="display:none">doesn't show 2</div>
    <div>shows up 3</div>
    <div style="display:none">doesn't show 4</div>
    <div style="display:none">doesn't show 5</div>
    <div>shows up 6</div>
    <div>shows up 7</div>
    <div>shows up 8</div>
    <div style="display:none">doesn't show 9</div>
    <div>shows up 10</div>
</section>
Run Code Online (Sandbox Code Playgroud)

JavaScript/jQuery

var mainList = $("#container div");

这当前获取所有<div>元素,无论它们的显示如何.是否有某种过滤器的,我可以把这个上调用get 是可见的元素?它应该只返回<div>表示"显示" 的6个元素.

小提琴: http ://jsfiddle.net/259chbj4/

注意:为此,我不能使用classdisplay: none.我正在寻找一种只修改JavaScript的解决方案.

html javascript jquery

5
推荐指数
1
解决办法
186
查看次数

不使用表标记创建HTML表

我正在尝试创建一个不使用table标记的表,只使用display: tableCSS中的属性.但不知何故,行没有正确对齐.细胞的宽度不同.第一行的单元格与其他行的单元格具有不同的宽度.这是JSFiddle的清晰理解:http://jsfiddle.net/tryouts/3MVUD/

这是我的HTML:

<div class="content">
    <header>
        <span class="title">Title</span>
        <span class="avail">Avail</span>
        <span class="list">List</span>
    </header>
    <main>
       <section id="item-1">
            <span class="title">Item 1</span>
            <span class="avail"></span>
            <span class="list">
                <span>One</span>
                <span>Two</span>
                <span>Three</span>
                <span>Four</span>
            </span>
       </section> 
       <section id="item-2">
            <span class="title">Item 2</span>
            <span class="avail">Yes</span>
            <span class="list">
                <span>Two</span>
                <span>Three</span>
            </span>
       </section> 
       <section id="item-3">
            <span class="title">Item 3</span>
            <span class="avail"></span>
            <span class="list">
            </span>
       </section>         
    </main>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的CSS:

div.content {
    display: table;
    width: 100%;
    border: 1px solid black;
}

div.content header, div.content main section { …
Run Code Online (Sandbox Code Playgroud)

html css

4
推荐指数
1
解决办法
4890
查看次数

为什么bodyparser.json正在解析multipart/formdata?

我正在尝试使用multer中间件解析multipart/from-data.这是我的帖子请求:

POST /api/files HTTP/1.1
Host: localhost:3000
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Cache-Control: no-cache
Postman-Token: f55caef0-1d59-fe80-f6ae-00e38fcbc92a

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="guia1"; filename="guia_1_MC_2012_2c.pdf"
Content-Type: application/pdf

----WebKitFormBoundary7MA4YWxkTrZu0gW
Run Code Online (Sandbox Code Playgroud)

这是我的app.js代码:

var express    = require('express');        
var app        = express();                    
var bodyParser = require('body-parser');
var validator = require('express-validator'); 
var multer = require('multer');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer({ dest: './files/'}));
app.use(validator());
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误(现已更新):

Error: invalid json 
at parse (.../node_modules/body-parser/lib/types/json.js:72:15) 
at .../node_modules/body-parser/lib/read.js:98:18 
at IncomingMessage.onEnd (.../node_modules/body-parser/node_modules/raw-body/index.js:136:7) 
at IncomingMessage.g (events.js:180:16) 
at IncomingMessage.EventEmitter.emit (events.js:92:17) 
at _stream_readable.js:920:16 
at process._tickCallback (node.js:415:13)
Run Code Online (Sandbox Code Playgroud)

所以似乎bodyParser.json()正在解析数据,而不应该.

parsing multipartform-data node.js express

4
推荐指数
1
解决办法
3966
查看次数

使用 DetectRTC 检测麦克风权限

我正在使用 JavaScript 库DetectRTC来检测浏览器是否可以使用麦克风和其他东西。

if(DetectRTC.isWebsiteHasMicrophonePermissions){
    //Is ok
}else{
    //Can't use microphone
}
Run Code Online (Sandbox Code Playgroud)

该网站有使用麦克风的权限,但DetectRTC.isWebsiteHasMicrophonePermissions仍然是假的。所以我试图在控制台上打印对象,我得到它isWebsiteHasMicrophonePermissions被设置为 true。但是当我单独打印变量时,它再次变为 false。

console.log(DetectRTC); //isWebsiteHasMicrophonePermissions: true
console.log(DetectRTC.isWebsiteHasMicrophonePermissions) //false
Run Code Online (Sandbox Code Playgroud)

这是错误还是什么?我该如何解决?

javascript detectrtc

4
推荐指数
1
解决办法
762
查看次数