我正在使用"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) 我有一个函数,它使用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版本相匹配.
任何人都可以想到可能导致谷歌返回此消息的任何其他事情吗?
我正在使用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) 我正在尝试使用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) 我正在尝试合并主键匹配的两个数组,我尝试使用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)