小编And*_* SK的帖子

jQuery:如何知道外部JS何时完成?

我需要在外部javascript完成自己的进程后执行特定的javascript指令.

(function(){
    var dsq = document.createElement('script');
    dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = 'http://xxxxxxxx.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
Run Code Online (Sandbox Code Playgroud)

jQuery如何知道.js何时完成了它的工作?

javascript jquery javascript-events

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

Htaccess RewriteRule 接受特殊字符

我的 htaccess 重写必须处理这些场景:

\n\n\n\n

我当前的 .htaccess 配置是:

\n\n
RewriteRule ^dictionary/([\\w\\+]{2,50})$ /words.php?q=$1 [QSA,L]\n
Run Code Online (Sandbox Code Playgroud)\n\n

它无法识别特殊字符,例如:\xc3\xb1、\xc3\xb3。

\n\n

有任何想法吗?谢谢!

\n

regex .htaccess alphabetical

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

在split(javascript)中包含分隔符

这是一个textarea.用户可以写任何东西.

<textarea id="text">First sentence. Second sentence? Third sentence!
Fourth sentence.

Fifth sentence
</textarea>
Run Code Online (Sandbox Code Playgroud)

最后,我必须将所有文本拆分成一个数组.

var sentences = $('#text').val().split(/\r\n|\r|\n|[.|!|?]\s/gi);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,数组项值中不存在分隔符.这就是句子的回归:

["First sentence", "Second sentence", "Third sentence", "Fourth sentence", "Fifth sentence"]
Run Code Online (Sandbox Code Playgroud)

它应该是:

["First sentence.", "Second sentence?", "Third sentence!", "", "Fourth sentence.", "", "", "Fifth sentence"]
Run Code Online (Sandbox Code Playgroud)

额外考虑:

  • 最后一句不需要分隔符(它可以在任何字符处结束)
  • 如果一个句子有多个分隔符char,它也应该包含在数组项中.例:第二句话?? 应该是[......,"第二句话??",......]

有任何想法吗?任何方法都是受欢迎的(不一定是split()) - 谢谢!

javascript jquery split

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

使用javascript自动从字符串生成标记

我需要 - 自动生成文本字符串的标签.在这种情况下,我将使用此字符串:

var text = 'This text talks about loyalty in the Royal Family with Príncipe Charles';
Run Code Online (Sandbox Code Playgroud)

我目前的实现,为6个字符长的单词生成标签,并且工作正常.

words = (text).replace(/[^a-zA-Z\s]/g,function(str){return '';});
words = words.match(/\w{6,}/g);
console.log(words);
Run Code Online (Sandbox Code Playgroud)

这将返回:

["loyalty","Family","Prince","Charles"]
Run Code Online (Sandbox Code Playgroud)

问题是有时候,标签应该是一组特定的单词.我需要的结果是:

["loyalty","Royal Family","Príncipe Charles"]
Run Code Online (Sandbox Code Playgroud)

这意味着,替换/匹配代码应该测试:

  1. 长度为6个字符(或更多)的单词; 和/或
  2. 如果一组单词以大写字母开头,那些单词应该在同一个数组元素中连接在一起.如果一些单词的长度少于6个字符并不重要 - 但至少其中一个必须是6+,例如:"在英国伦敦的Guardián停留"应该返回["TheUKGuardián","伦敦"]

我显然在第二个要求中遇到了麻烦.有任何想法吗?谢谢!

javascript regex replace match

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

匹配并删除字符串中的twitter标签

只有当hashtag在字符串末尾的任何地方时,我才需要从hashtags中删除#字符.例子:

我这个月要去#Disney!#WDW

我这个月要去#Disney.#WDW #Orlando

我本月要去#Disney #WDW #Orlando

他们需要转换为:

我这个月要去迪士尼!

我这个月要去迪士尼.

我这个月要去迪士尼

此代码将删除所有#字符:

function remove_hashtags($string){
    $result = preg_replace('/#([\w-]+)/i', '$1', $string);
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

...但在此之前,需要删除字符串末尾的主题标签(或一组主题标签).

php regex preg-replace

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

我可以用什么在iOS中实现圆环图?

我正在寻找一个免费的 iOS组件,它允许我在中心绘制带有文本的圆环图.到目前为止,我只使用了Code Plot,但这是一个完整的饼图.

我附上了一个要求的例子.

甜甜圈设计

任何帮助都感激不尽.

components ios pie-chart donut-chart

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

显示以前隐藏的引导警报

这是一个简单的Bootstrap警报:

<div id="alert_recover_ok" class="alert alert-success hidden">
    <a class="close" data-dismiss="alert" href="#">&#x2716;</a>
    Please check your email for recovery instructions
</div>
Run Code Online (Sandbox Code Playgroud)

如您所见,它是隐藏的(通过classname).现在我想表明它:

$('#alert_recover_ok').fadeIn();
Run Code Online (Sandbox Code Playgroud)

没有任何事情发生......似乎唯一有效的解决方案是:

$('#alert_recover_ok').removeClass('hidden');
Run Code Online (Sandbox Code Playgroud)

...但当然,这不会有很好的淡化效果.有任何想法吗?

css jquery alert twitter-bootstrap

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

使用jQuery将长字符串拆分为文本块

我有一个长字符串需要切成数组内的单独块,预定义的长度限制块.一些规则适用:

  1. 如果限制削减了一个单词,那么该单词将被分开以用于下一个单词.
  2. 必须修剪切片(数组项的开头或结尾没有空格).
  3. 特殊标点符号!,?应该留在这个词,而不是发送到下一个块.

原文:我的时间完全没有受到重视.您可以在这间客房内运营整个公园,最少有3天的工作人员.您认为那种自动化很容易吗?还是便宜?你知道有谁可以联网8台连接机器并调试200万行代码,以便我为这份工作买单吗?因为如果他能让我看到他试试.

结果与当前代码 ["我完全","在我的时间中没有得到认可",".你可以运行这整个","从这个房间停放","最小的工作人员,最多","3天.你认为","有点自动化是","sy?还是便宜?你知道","任何可以联网的人,"8个连接机器","调试200万行",我的出价代码" ,"为了这份工作?因为如果","我可以看到h","我试试."]

...它应该居然是:

["我完全","在我的时间里没有得到赏识.","你可以运行这一整体","从这个房间停放","最少3"的工作人员,"几天.你认为那种","自动化很容易?","或便宜?你知道任何人","谁可以网络8","连接机器和","调试200万行","代码为我竞标",这项工作?因为如果他","我想看到他","试试."]

如您所见,我仍然遇到第2和第3条规则的问题.

这是我目前的代码(您可以在jsfiddle中查看工作演示):

function text_split(string, limit, pos, lines) {
    //variables
    if(!pos) pos = 0;
    if(!lines) lines = [];
    var length = string.val().length;
    var length_current;

    //cut string
    var split = string.val().substr(pos, limit);
    if(/^\S/.test(string.val().substr(pos, limit))) {
        //check if it is cutting a word
        split = split.replace(/\s+\S*$/, "");
    }

    //current string length
    length_current = split.length;

    //current position
    pos_current = length_current + pos;

    //what …
Run Code Online (Sandbox Code Playgroud)

javascript regex string jquery substr

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

如何在javascript中计算字符串中的空行

我正在尝试计算字符串中的所有空行。我目前的功能类型的作品:

function count_empty(text) {
    var regex = /\r\n?|\n/g;
    var lines = text.split(regex);
    var sep = [];
    $.each(lines, function(k, val) {
        if(!val) {
            //sentence
            sep.push(val);
        }
    });
    return sep.length;
}
Run Code Online (Sandbox Code Playgroud)

...但我真的认为它可以通过更好的方法来实现:

function count_empty(text) {
    return (text.match(/\r\n?|\n/g) || []).length;
}
Run Code Online (Sandbox Code Playgroud)

当然,应该修改第二个替代方案中的正则表达式以实际完成要求。所以,问题是:我应该在第二种方法中使用什么正则表达式来仅检索空行?

一个考虑:如果一行仅包含空格,它将被视为空行。

此文本区域的字符串应随函数返回 3。

<textarea id="test">first line

third line


</textarea>
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript regex arrays newline

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

如果我在requestPermission之后立即调用Firebase的getToken,我会在控制台中收到一个错误,为什么?

如果我在requestPermission之后立即调用Firebase的getToken,则大多数情况下会在控制台中收到错误消息。这是我当前的代码:

<script src="https://www.gstatic.com/firebasejs/4.12.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.12.1/firebase-messaging.js"></script>
<script>
var config = {
apiKey: "XXXXXXXXX",
authDomain: "XXXXXXXXX.firebaseapp.com",
databaseURL: "https://XXXXXXXXX.firebaseio.com",
projectId: "XXXXXXXXX",
storageBucket: "XXXXXXXXX.appspot.com",
messagingSenderId: "XXXXXXXXX"
};
firebase.initializeApp(config);
</script>
<script>
function notification_permission() {
    messaging.requestPermission().then(function(permission) {
        console.log('Notification permission granted', permission);
        messaging.getToken().then(function(token) {
            if(token) {
                //update user token
                console.log('Token acquired', token);
            } else {
                //you don't have permission to show notifications
            }
        }).catch(function(err) {
            //retrieving token failed, analyze the error
            console.error('Retrieving token failed', err);
        });
    }).catch(function(err) {
        console.error('Unable to get permission to notify', err) …
Run Code Online (Sandbox Code Playgroud)

javascript push-notification firebase firebase-cloud-messaging

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