我使用htmlLoader.loadString(someHtml)
加載網站。包括JS來源。 有沒有機會獲得這個JS文件中的函數?loadString(...) - 訪問JS函數
我還將屬性placeLoadStringContentInApplicationSandbox
設置爲true。
我使用htmlLoader.loadString(someHtml)
加載網站。包括JS來源。 有沒有機會獲得這個JS文件中的函數?loadString(...) - 訪問JS函數
我還將屬性placeLoadStringContentInApplicationSandbox
設置爲true。
文檔是你最好的朋友我的朋友。 http://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_02.html
更具體地說,http://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_07.html
很酷,但是當你試圖從應用程序存儲或用戶目錄加載JS時,這個失敗.. – pawlus
但是這個問題似乎與你的問題有點不相干。你是什麼意思,它失敗了?是否存在安全問題,甚至無法加載HTML源代碼?那麼,你當然不能使用JS。我不確定這是否會有所幫助,但http://forums.adobe.com/thread/435399在我的一個AIR項目中,我能夠拉動受密碼保護的zip文件,實時打開它,找到一個HTML文件並提取數據。如果我記得很清楚,我甚至在其中使用了一些JS函數。也許有些代碼會幫助我們。 –
的問題是,如何讓訪問JS功能 - showAlert()?在這種情況下,我使用userDirectory來存儲文件。這兩個文件 - txt(裏面有html源代碼)和JS - 都在這個目錄中 -/Users/unsername /。希望現在一切都會清楚。感謝幫助。
private function init():void
{
var testFile:File = File.userDirectory.resolvePath("testreadonly.txt");
var readFileStream:FileStream = new FileStream();
readFileStream.open(testFile, FileMode.READ);
var test:String = readFileStream.readMultiByte(testFile.size, File.systemCharset);
var myJS:File = File.userDirectory.resolvePath("myJS.js");
trace("my JS : " + myJS.exists);//it shows TRUE
myHTML.htmlLoader.placeLoadStringContentInApplicationSandbox = true;
myHTML.htmlLoader.loadString(test);
}
我的HMTL文件來源:
<html><body><script type='text/javascript' src='myJS.js'></script><script type='text/javascript'>showAlert()</script>Pawel</body></html>
我的JS文件:
function showAlert()
{
alert('alert');
}
據我記得,我的JS功能是在HTML代碼。我看到你試圖訪問外部的JS文件。作爲一個概念證明,你可以嘗試將JS集成到HTML並嘗試訪問它嗎?那麼我們至少可以知道它的工作原理,因爲可能還有其他一些問題需要解決:安全性,文件許可等。讓我們一次一個腳印。 –
究竟你在做什麼,爲什麼你需要這個功能?目的是什麼? –