小编Mr.*_* B.的帖子

Javascript:如何最好地阅读手持式条形码扫描仪?

我希望能够通过手持式扫描仪扫描条形码并使用Javascript处理结果.

条形码扫描仪几乎像键盘一样工作.它输出扫描/翻译(条形码 - >数字)数据原始(对吗?).实际上我只需要捕获输出并继续.但是怎么样?

这是我想做的一些伪代码:

$(document).on("scanButtonDown", "document", function(e) {
    // get scanned content
    var scannedProductId = this.getScannedContent();

    // get product 
    var product = getProductById(scannedProductId);

    // add productname to list
    $("#product_list").append("<li>" + product.name + "</li>");
});
Run Code Online (Sandbox Code Playgroud)
  • 任何想法(框架,插件,片段)?
  • 任何条码扫描仪(硬件)推荐?

提前致谢!

我发现了这个这个好问题,但我想获得有关处理的更多信息.在我的案例中,仅仅关注textarea可能是不够的.

javascript ajax jquery barcode-scanner angularjs

26
推荐指数
7
解决办法
6万
查看次数

PHP:如何压缩图像而不会失去可见的质量(自动)?

我想知道如何自动找出最佳压缩率(小文件大小+无质量损失).

目前我使用imagejpeg()$quality = 85每个.jpg.

PageSpeed(Chrome插件)建议,降低一些图像的质量以节省一些kb.减少的百分比是不同的.

我想编写一个抓取特定目录并优化每个图像的cronjob.

PageSpeed或TinyPNG如何找出最佳的优化质量,这是否可以通过PHP或其他服务器语言实现?

php compression cron image server-side

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

React native:如何获取文件大小,mime类型和扩展名?

我知道react-native-fsreact-native-fetch-blob,但是我缺少简单的辅助函数getFileInfo(file).

期望的伪代码:

let fileInfo = getFileInfo('path/to/my/file.txt');
console.log('file size: ' + fileInfo.size);
console.log('mime type: ' + fileInfo.type);
console.log('extension: ' + fileInfo.extension);
Run Code Online (Sandbox Code Playgroud)

获取文件大小,mime类型和扩展名的正确方法是什么?

提前致谢!

javascript android ios react-native

12
推荐指数
3
解决办法
1万
查看次数

React native + redux-persist:如何忽略键(黑名单)?

我正在存储我的设置,redux-persist并且想要忽略其中的一些设置,以便在每次重启时重置它们,例如在崩溃之后.

可以添加一个reducer-names数组作为blacklistwhitelist,但我想忽略特定的键,例如,settings.isLoggedIn而不是settings.

// ...
function configureStore(initialState) {
    const store = createStore(
        RootReducer,
        initialState,
        enhancer
    );

    persistStore(store, {
        storage: AsyncStorage,
        blacklist: ['router', 'settings'] // works, 'settings.isLoggedIn' doesn't.
    }, () => {
        // restored
    });

    return store;
}
// ...
Run Code Online (Sandbox Code Playgroud)

我是否必须创建另一个减速器或任何人解决此问题?

提前致谢!

javascript reactjs react-native redux react-redux

10
推荐指数
3
解决办法
5974
查看次数

jQuery.ajax() - 如何最好地处理超时?

我想知道,使用jQuery.ajax()处理超时的最佳方法是什么.这是我目前的解决方案:如果发生超时,页面将被重新加载,脚本将有另一次机会在给定的时间范围内加载数据.

问题:如果"get_json.php"(下面的例子)真的不可用,它将成为一个无休止的重载循环.可能的解决方案:添加计数器并在$ x重新加载后取消.

问题1:如何最好地处理超时错误?

问题2:您建议的超时时间表是什么?为什么?

代码:

$.ajax({
    type: "POST",
    url: "get_json.php",
    timeout: 500,
    dataType: "json",
    success: function(json) {
        alert("JSON loaded: " + json);
    },
    error: function(request, status, err) {
        if (status == "timeout") {
            // timeout -> reload the page and try again
            console.log("timeout");
            window.location.reload();
        } else {
            // another error occured  
            alert("error: " + request + status + err);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript ajax error-handling jquery timeout

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

谷歌地图JS API v3:使用containsLocation()获取圈子中的标记不起作用 - 为什么?

我试图google.maps.Circle通过使用这里google.maps.geometry.poly.containsLocation推荐的方式获得给定半径()内的所有标记,但是我得到一个错误:.TypeError: e is undefined

片段:

// ...
if (google.maps.geometry.poly.containsLocation(randomMarkers[i].marker.getPosition(), searchArea)) {
    console.log('=> is in searchArea');
} else {
    console.log('=> is NOT in searchArea');
}
// ...
Run Code Online (Sandbox Code Playgroud)

完整代码:

<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
  html, body, #map-canvas {
    height: 100%;
    margin: 0px;
    padding: 0px
  }
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script>
var map,
    searchArea,
    searchAreaMarker,
    searchAreaRadius = 1000, // metres
    startLat = 40.782827,
    startLng = -73.966167       
;

function …
Run Code Online (Sandbox Code Playgroud)

javascript geometry google-maps google-maps-api-3

8
推荐指数
1
解决办法
8678
查看次数

Javascript:如何获取函数内的父键?

我有一些函数,存储在一个集合/数组中,并希望获得密钥(函数名称)而无需重新输入.有没有简短的方法来访问它?

var functions_collection = {
    "function_x": function() {
        var name = "function_x";
        // name = this.key; <- how to get the key/function-name "function_x"?

        // some more code like:
        $(".function_x .button").val();

        alert(name);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我想避免重新输入函数本身内部的"function_x",而更喜欢像this.key一样调用它.

对不起这个奇怪的主题,并提前感谢!

解决方案:很多很好的答案,但我只是在寻找这个剪辑:

Object.keys(this)
Run Code Online (Sandbox Code Playgroud)

javascript arrays function

7
推荐指数
1
解决办法
3227
查看次数

Symfony:如何自动加密/解密路由参数?

我想自动地对URL /路由中的参数 (例如ID)进行解密/解密,例如:

domain.com/item/show/1应该是这样的domain.com/item/show/uj7hs2.

当前(伪)代码

public function myControllerFunctionAction() {
    // ...
    $id = $this->get('my.crypt')->encrypt($item->getId());
    return $this->redirectToRoute('routeTo_myOtherControllerAction', array('id' => $id));
}

public function myOtherControllerFunctionAction($id) {
    $id = $this->get('my.crypt')->decrypt($id); // decrypt

    $item = $this->get('my.repository')->find($id);
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我想避免手动加密/解密.

像这样的东西是完美的:

# routing.yml
routeTo_myOtherControllerAction:
    path:     /item/show/{id}
    defaults: { _controller: appBundle:Items:show }
    options:
        crypt_auto: true
        crypt_method: %default_crypt_method%
Run Code Online (Sandbox Code Playgroud)

我找不到任何其他解决方案而不是我的服务.有任何想法吗?

提前致谢!

php encryption symfony

7
推荐指数
1
解决办法
8070
查看次数

如何仅允许iframe嵌入白名单网站?

我有一个表格,我想嵌入一个网站,这是在我的白名单上.

试图嵌入它的其他网站应该只获得一个错误页面.

<iframe src="https://domain.tld/getForm.php?embed=1&formId=123456"></iframe>
Run Code Online (Sandbox Code Playgroud)

我希望我可以用$_SERVER['HTTP_REFERER']getForm.php检查embeding网站,但它不工作.

有谁知道最佳做法或任何解决方法?

提前致谢!

html php forms iframe referer

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

Mongoose:remove()为已删除的项返回true

即使用户已被删除,我的代码也会返回"用户已删除".在这种情况下,我宁愿抛出404,但我想尽可能少查询数据库.

有没有办法获得userNotFound(见下文)而无需手动检查用户是否在删除前存在?也许我错过了一个功能remove()或替代功能.

var itemId = 123;
Item.remove({id: itemId}, function(err) {
    if (err) {
        return res.json({success: false, msg: 'Cannot remove item'});
    }

    // !!!
    if (userNotFound) {
        return res.status(404).json({success: false, msg: 'User not found'});
    }  
    // /!!!


    res.json({success: true, msg: 'User deleted.'});
});
Run Code Online (Sandbox Code Playgroud)

提前致谢!

database mongoose mongodb node.js express

6
推荐指数
1
解决办法
5268
查看次数