查找两行之间的代码

时间:2015-09-03 11:35:10

标签: javascript

我正在寻找一种方法,以便在特定代码位于两个特定行之间时发出警报。

以下是代码:

var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
      swiffyobject, {});
        stage.setFlashVars("clickTAG=%%CLICK_URL_ESC%%%%DEST_URL%%");
  stage.start();

有没有办法打开网页并显示警告

stage.setFlashVars("clickTAG=%%CLICK_URL_ESC%%%%DEST_URL%%");"

在代码中,而不是在

之间

swiffyobject, {});stage.start();

2 个答案:

答案 0 :(得分:1)

如果此脚本在页面内但不在外部脚本(除页面文件之外的其他文件)中,您可以这样做:

$(function() {
  var script = $('script:contains(var stage = new swiffy.Stage(document.getElementById)');
  alert(script.length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
  var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
      swiffyobject, {});
        stage.setFlashVars("clickTAG=%%CLICK_URL_ESC%%%%DEST_URL%%");
  stage.start();
</script>

对于第二次检查,您需要使用Regex,这更复杂。

答案 1 :(得分:0)

假设您在浏览器环境中运行代码。我想这对你来说并不容易。但是你可以:

  • 使用您的实现装饰stage.setFlashVars并拦截该方法是否已使用特定参数值调用。但是,这不会告诉您代码是否在stage.start()之前执行。
  • 如果您的代码包含在页面中的script标记中,则可以选择该脚本标记,阅读其内容并进行解析(此处快速示例:http://jsfiddle.net/9vudjwba/)。

这两种方法看起来真的太过分了。你试图解决这个问题是什么问题?