2015-09-03 27 views
0

我正在尋找一種方法在特定代碼位於兩個特定行之間時獲取警報。查找兩行之間的代碼

下面是代碼:

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

可能不是!你爲什麼想做這個?聽起來像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 (此外,pedant警報 - 多數民衆贊成不是「JQuery代碼」它只是普通的舊「Javascript」) – Jamiec

+0

檢查頁面上的屬性是否更簡單,如果它是真的,然後創建一個警報消息? 例子:你把一個數據TreuOrFalse = ServerVariable 而當頁面加載檢查這個數據屬性,並根據價值創造警報。 – ThunD3eR

回答

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,它更復雜。

0

假設你在瀏覽器中運行的env代碼。我想你沒有簡單的方法來做到這一點。但是,您可以:

  • 裝飾stage.setFlashVars與您的實施並攔截方法是否已用特定參數值調用。然而,這不會告訴你代碼是否在stage.start()之前執行。
  • 如果您的代碼包含在頁面中的標籤script,您可以選擇腳本標籤,閱讀其內容,並對其進行分析(簡單的例子在這裏:http://jsfiddle.net/9vudjwba/)。

這兩種方法看起來真的矯枉過正了我。你想通過這樣做解決什麼問題?