Re: [問題] Javascript 的問題
※ 引述《kenshieh ( )》之銘言:
: ※ 引述《kenshieh ( )》之銘言:
: : 標題: [問題] Javascript 的問題
: : 時間: Wed Aug 9 15:04:28 2006
: : 請問,
: : 假設我有一個 .js 會回傳一些用 document.write(); 產生的結果,但我想把這結果
: : 先暫存起來,以便以後的運用,那我要怎麼做呢?
: : 舉例如下(以 test.js 為例):
: : <!-- 下面回傳一個 document.write('test'); 的結果 -->
: : <script src='test.js'></script>
: : 上面這行會產生 "test" 字串,但我要怎麼做去把 test 暫存於 javascript 的一個變數
: : 裡而不是直接產生於網頁上呢? 謝謝。
: : --
: : ◆ From: 140.119.164.204
: : 推 alpe:變數 08/09 15:06
: : 推 kenshieh:你好, 我知道用變數, 問題是要怎麼去接它呢? 08/09 15:45
: : 推 grassboy2:在js檔裡面寫個var buffer_test;要用的時候直接存取… 08/09 18:45
: : → grassboy2:先用buffer_test+="test"要讀出時再用document.write() 08/09 18:47
: 謝謝 grassboy2 的回答
: 但可能各位還是誤解我的意思了
: 我的意思,目前有一個 .js 的檔案,但這個檔案我是無法去變更它的內容的
: 他的內容很簡單,就是一些 document.write();
: 問題來了,我要怎麼用變數去接由 .js 產生的內容呢?
: 下面這個有問題的程式應該可以了解我要的意思。 (以下用 test.js 當範例)
: <!-- 以下是有問題的程式 -->
: <script>
: // 我要如何得到 test.js 產生的內容呢? 且我要放到 cont 這變數中。
: var cont = document.write("<script src='test.js'></script>");
: </script>
我第一次看過這麼奇怪的需求 您的test.js程式設計上就是要寫入一些內容至網頁
您反而不要這個程式做寫入的動作 但又想知道它會寫入的內容
'正常'唯一的方法就是改原來的程式阿
既然您都說test.js不能改了 好吧... 那就硬上了:
我是有想到兩三個辦法, 最簡單且最笨的就是依舊讓test.js程式寫入內容至網頁
寫入至一個暫時的element中 另外依靠css的display:none讓這個element
就算有內容也看不到 (但css功能被關掉時 您可能會看到這些內容忽然出現又消失)
然後把寫入的內容抓出來放到變數裡 然後再把這個暫時的element拿掉
我粗略寫了一下... 在網頁的<body>內插入以下的code,
<script type="text/javascript">
window.onload = function() {
// 暫時放內容的element
var holderDiv = document.getElementById('content-holder');
// 這個暫時的element裡除了寫入的內容, 還有開頭的script markup
// 我們只要寫入的內容 放進一個top-level的變數cont中
window.cont = holderDiv.innerHTML.replace(/<script\s*.*><\/script>/i,'');
// 然後把這個暫時的element拿掉
document.body.removeChild(holderDiv);
}
</script>
<!-- 這一段markup不要有斷行 -->
<div id="content-holder" style="display:none"><script type="text/javascript" src="test.js"></script></div>
就這樣 ... 試試看吧!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.24.125
※ 編輯: elan 來自: 220.131.24.125 (08/10 01:25)
推
08/10 12:20, , 1F
08/10 12:20, 1F
→
08/10 18:21, , 2F
08/10 18:21, 2F
→
08/10 18:23, , 3F
08/10 18:23, 3F
→
08/15 21:32, , 4F
08/15 21:32, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):