小编Tal*_*wan的帖子

如何找到整个网页的高度?

我正在研究捕获网站屏幕截图的解决方案.我正在使用slimerjs.org中提到的默认示例来完成工作.

使用此工具进行屏幕截图非常棒,但我需要对网站进行全高度的屏幕截图.当捕捉像http://www.yellowpages.com这样的网站的屏幕时,我可以获得全长屏幕,而不必提及任何高度参数.

但是当我尝试这个网址时:http://votingbecause.usatoday.com/

我只获得设定分辨率的截图(默认值:1920x1080),我无法获得全长图像.

由于我使用的是slimerjs,我可以使用jQuery来操作dom.我需要找到完整的网站高度,以便我可以截取该分辨率

我试过了

  • document.height()
  • document.body.scrollheight
  • screen.height
  • 的$(document).height()
  • (和我发现的许多其他)

但所有这些只给出了视口的高度(网站在视图中)

问题是,如何找到网站的完全可滚动高度?

javascript jquery screenshot fullscreen webpage-screenshot

6
推荐指数
2
解决办法
2730
查看次数

window.location.hash返回值前面的哈希标记

我在MVC3视图中有以下代码:

 $(document).ready(function () {
    if (window.location.hash) {
        var manager= new Manager();

        manager.doSomeStuff(window.location.hash);
    }
});
Run Code Online (Sandbox Code Playgroud)

有趣的是,当URL中没有哈希标记时,或者只有哈希标记示例时:

http://localhost:1223/Index/AboutUs

http://localhost:1223/Index/AboutUs#
Run Code Online (Sandbox Code Playgroud)

如果window.location.hash为空并且未执行该功能.但是当哈希标记中有一些值时:

http://localhost:1223/Index/AboutUs#categoryId=5&manufacturerId=8
Run Code Online (Sandbox Code Playgroud)

中的值window.location.hash#categoryId=5&manufacturerId=8

你能解释一下为什么#标签包含在值中以及为什么#标签后面没有值时window.location.hash为空.

javascript url jquery hashtag asp.net-mvc-3

5
推荐指数
3
解决办法
2万
查看次数

MongoDB - 如何使用Node.js获取集合的大小?

我正在使用node.js编写服务器端代码,我正在尝试使用不能正常工作的count方法获取MongoDB集合大小.

这是我的代码

var mongo = require('mongodb');
var host =  "127.0.0.1";
var port = mongo.Connection.DEFAULT_PORT;

function getStock(name, callback) {

    var db = new mongo.Db("testDB", new mongo.Server(host, port, {}));
    db.open (function(error){
        console.log("We are connected! " + host + ":" +port);

        db.collection("stocks", function(error, collection){
            console.log("We have a collection");
            **var numOfDocs = db.collection('stocks').count()**
            **console.log("The num of  Docs in our collection is: ",numOfDocs)**
            collection.find({"name":name.toString()}, function(error, cursor) {
                cursor.toArray(function(error, stocks) {
                    if (stocks.length==0) {
                        //console.log("No Stocks found!");
                        callback(false);
                    }
                    else {
                        callback(stocks[0]);
                        //console.log("Found a stock -> …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js npm

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

javascript的编译器与Web浏览器不同

所以我要问每个网络浏览器都有自己的编译器示例IE从网站编译Javascript并生成字节码的序列A.

另一方面,谷歌浏览器从同一网站编译相同的Javascript并生成序列B.

我想知道这一点,因为如果是这样的话,在Javascript上运行编译器并将生成的字节代码上传到网站而不是Javascript本身是有益的.并根据每个浏览器发送不同的字节码.

还是有其他一些限制.

javascript browser

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

深度填充条件

我有一个包含消息的消息集合,模型看起来像这样.

var MessageSchema = new mongoose.Schema({
    groupId: { type: Schema.ObjectId, ref: 'Group' },
});

var GroupSchema = new mongoose.Schema({
   type: String,
   groupMembers: [{ "user": { type: Schema.ObjectId, ref: 'User' } }],
});
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

 Message.find({ 'groupId': { $in: groupIds } })
.populate(
{ path: 'groupId', select: 'groupMembers type name level', 
populate: { path: 'groupMembers.user', select: 'name _id photo', model: 'User' } })
Run Code Online (Sandbox Code Playgroud)

仅当groupId.t​​ype与条件匹配时,如何填充groupMembers.user

我试过这个但是:-(

{match:"groupId.type":'individual'}
Run Code Online (Sandbox Code Playgroud)

mongoose mongoose-populate

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

Bootstrap 4 列行网格导出到 csv 或 excel

我正在使用一个 div 网格,我只想将数据复制出来。任何允许这样做的引导程序 4/jquery 扩展?普通复制粘贴将所有内容放在一行中

<div class="row h5">
    <div class="col-2">name</div>
    <div class="col-3">purchased</div>
    <div class="col-2">Date</div>
    <div class="col-1">Method</div>
    <div class="col-1">CC Reference</div>
    <div class="col-3">transId</div>
</div>
Run Code Online (Sandbox Code Playgroud)

出来是这样的:

name
purchased
Date
Method
CC Reference
transId
Run Code Online (Sandbox Code Playgroud)

但应该出来制表符分隔,所以你可以粘贴到任何表格应用程序(谷歌或excel)

我需要将我的代码转换回正常的 table tr td 格式吗?

jquery export bootstrap-4

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

如何在浏览器关闭时注销用户

在这里,我想在用户关闭浏览器时注销用户。为此我做了研发,发现当我们关闭浏览器时会触发以下代码。

window.onbeforeunload = function() {
  myService.logout();
  return 'Your own message goes here...';
}
Run Code Online (Sandbox Code Playgroud)

在这里,当我尝试关闭浏览器时,此事件将触发,并使用户注销。但这里的问题是当页面被重定向时,这个事件也会被触发。

我想用这个功能让用户退出,但是出错了,请帮我做这个功能。

javascript angularjs

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

if else 条件与淘汰赛

我是淘汰赛的新手。我有一个问题,如何在 Knockout 中使用 if/else。

例如像这样

<ul class="list-group" data-bind="foreach: users">
    <li class="list-group-item" data-bind="click : setasUser">
        <i class="fa fa-circle text-success"></i> <span data-bind="text: name"></span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想要一个不可点击的项目,如果username == x

我怎样才能做到这一点?

knockout.js knockout-mvc

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

如何将弹出框内的输入标记绑定到Vue模型

我有一个input像这样的popover内容:

的jsfiddle

HTML:

<div id="vue-app">
    <div class="btn btn-primary" data-toggle="popover" data-placement="bottom" title="Hello World!" data-html="true" data-content='<input v-model="message"/>'>
        Click Me!
    </div>
    <hr>
    <input v-model="message"> {{ message }}
</div>
Run Code Online (Sandbox Code Playgroud)

这是JS:

new Vue({
    el: '#vue-app',
    data: {
        message: 'I am a Text'
    }
});
$(document).ready(function() {
    $('[data-toggle="popover"]').popover();
});
Run Code Online (Sandbox Code Playgroud)

正如你所看到的输入data-content结合良好,但内部的输入不绑定!

任何想法都会非常感激.

javascript jquery twitter-bootstrap vue.js vuejs2

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

在 javascript 中获取总秒数

我正在使用 Eonasdan 日期时间选择器。在格式化日期时,它包含 PM 和 AM,所以我喜欢将它用于我的日期,以便轻松识别时间。但是,当我通过 Javascript 创建一些条件来计算两个给定时间的总秒数(包含 AM 和 PM 文本)时,它会发出警报Nan。获取给出的 AM 和 PM 文本的总秒数的最佳解决方案是什么?

代码如下:

<script type="text/javascript">
    var datetime_in= '06/30/2017 7:56 AM';
    var datetime_out= '06/30/2017 5:16 PM';

    var totalseconds= datetime_in - datetime_out;
    alert(totalseconds);
</script>
Run Code Online (Sandbox Code Playgroud)

html javascript eonasdan-datetimepicker

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