小编The*_*ter的帖子

jQuery:使用IE10中的MutationObserver检测div内容是否已更改

我正在使用"MutationObserver"来检测内容是否在div中发生变化.

它在Firefox,Safari,Chrome,IE11等中运行良好,但我无法在IE10中使用它.

A进行了搜索,看起来IE10不支持"MutationObserver",但您可以使用以下"PolyFill"使其正常工作:https://github.com/googlearchive/MutationObservers/blob/master/MutationObserver.js

我试过了,但它还没有用.

我是否正确加载MutationObserver.js修复程序?或者有没有人知道更好的方法来检测IE10中的div内容是否发生变化?

JSFiddle:https://jsfiddle.net/hvt217dm/

代码在这里:

"use strict";

    // Change content
    $(".button1").click(function() {
        $(".content1").html("Test 2");
    });

    // Check if content has changed
    var target = document.querySelector(".content1");
    var observer = new MutationObserver(function(mutations) {
        alert("Changed");
    });
    var config = { attributes: true, childList: true, characterData: true };
    observer.observe(target, config);
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Google Maps PHP CURL问题"您的客户发出了格式错误或非法的请求.这就是我们所知道的."

我有一个函数,它使用CURL和Google Maps API返回地址的坐标.

代码如下:

function get_coordinates($address_string) {

    $address = urlencode($address_string);
    $url = "https://maps.googleapis.com/maps/api/geocode/json?address=" . $address . "&key=" . $api_key;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $response = curl_exec($ch);
    curl_close($ch);
    $response_a = json_decode($response);
    $status = $response_a->status;

    return $response;

}
Run Code Online (Sandbox Code Playgroud)

代码适用于我和我使用它的99%的Web服务器 - 但对于大约1%的服务器,Google返回错误消息:

Your client has issued a malformed or illegal request. That’s all we know.
Run Code Online (Sandbox Code Playgroud)

我已经检查过,Google API密钥是正确的,启用了PHP CURL,PHP版本与正在处理的PHP版本相匹配.

任何人都可以想到可能导致谷歌返回此消息的任何其他事情吗?

php curl google-maps google-api

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

PHP preg_split字符串,带有空格和土耳其语字符

我正在使用preg_split拆分以下字符串:

$string = 'textarea name="custom_field" label="Space space space" column="1/2"';
$preg_split = preg_split("/\s(?![\w\s]+\")/", $string);
echo '<pre>',print_r($preg_split,1),'</pre>';
Run Code Online (Sandbox Code Playgroud)

此代码给出以下结果:

Array
(
    [0] => textarea
    [1] => name="custom_field"
    [2] => label="Space space space"
    [3] => column="1/2"
)
Run Code Online (Sandbox Code Playgroud)

这里一切都很好。

但是,如果我在土耳其语字符中添加空格,则无法按预期运行:

$string = 'textarea name="custom_field" label="âç?? ?îö?üû" column="1/2"';
$preg_split = preg_split("/\s(?![\w\s]+\")/", $string);
echo '<pre>',print_r($preg_split,1),'</pre>';
Run Code Online (Sandbox Code Playgroud)

它用土耳其语字符分割字符串的中间:

Array
(
    [0] => textarea
    [1] => name="custom_field"
    [2] => label="âç??
    [3] => ?îö?üû"
    [4] => column="1/2"
)
Run Code Online (Sandbox Code Playgroud)

如何检测preg_split中的土耳其语字符并将其保持在一个数组值中?像这样:

Array
(
    [0] => textarea
    [1] => name="custom_field"
    [2] => label="âç?? ?îö?üû" …
Run Code Online (Sandbox Code Playgroud)

php preg-split

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

PHP array_push与自定义键

我正在尝试使用array_push合并具有自定义键的两个数组,但是当我使用array_push时,它将删除自定义键。

例如,如果我只是使用自定义键创建一个普通数组,则效果很好:

$price_arr = array();
$date = '2017-08-01';

$insert_data =  array(
    $date => array(
        'adult_1' => '10'
    )
);

print_r($insert_data);
Run Code Online (Sandbox Code Playgroud)

结果是:

Array ( [2017-08-01] => Array ( [adult_1] => 10 ) ) 
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用数组推送,它将删除自定义键,例如:

$price_arr = array();
$date = '2017-08-01';

$insert_data =  array(
    $date => array(
        'adult_1' => '10'
    )
);
array_push($price_arr, $insert_data);

$insert_data = array(
    $date => array(
        'child_1' => '2'
    )
);
array_push($price_arr, $insert_data);

print_r($price_arr);
Run Code Online (Sandbox Code Playgroud)

结果是:

Array ( [0] => Array ( [2017-08-01] => Array ( [adult_1] => 10 …
Run Code Online (Sandbox Code Playgroud)

php arrays

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

PHP合并两个密钥匹配的数组

我正在尝试合并主键匹配的两个数组,我尝试使用array_merge但是键只是被覆盖了.

例如,我有这个数组:

$date = '2017-08-01';

$price_arr_1 = array();
$price_arr_1[$date]['adult_1'] = 10;
$price_arr_1[$date]['child_1'] = 2;
print_r($price_arr_1);
Run Code Online (Sandbox Code Playgroud)

哪个输出:

Array ( [2017-08-01] => Array ( [adult_1] => 10 [child_1] => 2 ) ) 
Run Code Online (Sandbox Code Playgroud)

我有这个数组:

$date = '2017-08-01';

$price_arr_2 = array();
$price_arr_2[$date]['adult_2'] = 10;
$price_arr_2[$date]['child_2'] = 2;
print_r($price_arr_2);
Run Code Online (Sandbox Code Playgroud)

哪个输出:

Array ( [2017-08-01] => Array ( [adult_2] => 10 [child_2] => 2 ) ) 
Run Code Online (Sandbox Code Playgroud)

当我尝试合并它们时:

print_r(array_merge($price_arr_1,$price_arr_2));
Run Code Online (Sandbox Code Playgroud)

它输出这个:

Array ( [2017-08-01] => Array ( [adult_2] => 10 [child_2] => 2 ) ) 
Run Code Online (Sandbox Code Playgroud)

我想输出这个:

Array ( [2017-08-01] …
Run Code Online (Sandbox Code Playgroud)

php arrays

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

标签 统计

php ×4

arrays ×2

curl ×1

google-api ×1

google-maps ×1

javascript ×1

jquery ×1

preg-split ×1