2013-03-04 55 views
1

在一個站點刮,我發現在JavaScript中幾個刮功能,我需要修改,因爲代碼使用相對路徑:修改包含在刮網頁中的JavaScript的最佳方法是什麼?

/UserControl/bla 

我需要修改它使用絕對路徑:

www.domain-name.com/UserControl/bla 

問題是,這些函數寫入了一個單獨的文件包含在被刮頁面中。到目前爲止,我只能使用PHP函數file_get_contents()對該文件進行流式處理,使用preg_replace更改我需要的部分,然後將該腳本插入到所截取的HTML的頭部分。我無權修改包含的JavaScript文件,因爲它位於我無權訪問的服務器上。

這是正確的方法嗎?

+0

難道你不能直接改變.js文件嗎? – Alvaro 2013-03-04 13:37:43

+0

是的,我不能直接改變它,抱歉沒有先指出這個至關重要的信息:D – Pratansyah 2013-03-04 13:46:40

回答

0

的preg_replace是一個選項,如果它只是爲了顯示你的計算機上的網頁,你也可以插入一個基本路徑標籤: http://www.w3schools.com/tags/tag_base.asp

+0

與w3schools的聯繫是非常不鼓勵的。 [W3Fools](http://www.w3fools.com) – Jeremy1026 2013-03-04 13:39:02

+0

將此添加到我的腳本只是搞砸了我的其他功能。但是,我appericiate您的報價 – Pratansyah 2013-03-04 14:04:05

1

我做的這個案件是聲明的JavaScript全局變量客觀上是恆定的值,然後,我可以從我包括JS文件訪問此變量,例如:

<script> 
    Globals = { 
     absoluteUrlPrefix: "<?= getAbsoluteUrlPrefix(); ?>" 
    }; 
</script> 
<script src="myjsfile.js"></script> 

myjsfile.js

... 
var absoluteUrl = Globals.absoluteUrlPrefix+"/UserControl/bla"; 
... 
+0

在您的解決方案中,我假設我需要訪問該頁面中包含的文件。問題是我正在報廢別人的網頁,所以我沒有任何修改該文件的權限 – Pratansyah 2013-03-04 13:52:21

+0

對不起,我誤解了這個問題。 – eagleoneraptor 2013-04-11 13:25:05

相關問題