1

2 つの URL を含むデータを返す JavaScript 関数を作成しました。そして、これらを HTML コードに挿入したいと思います。

たとえば、戻り URL の値は

JavaScript ファイル

http://www.domain.com/javascript.js

CSSファイル

http://www.domain.com/buttons.css

これらを次のようにコードに挿入する必要があります。

<link rel="stylesheet" type="text/css" href="return URL value" />
<script type="text/javascript" src="return URL value"></script>

どうやってやるの?

ありがとう

4

3 に答える 3

1

それを行う方法の 1 つは、 http: //www.javascriptkit.com/javatutors/loadjavascriptcss.shtml から取得した以下のスニペットで提案されています。


.js または .css ファイルを動的にロードするには、一言で言えば、DOM メソッドを使用して、まずおしゃれな新しい「SCRIPT」または「LINK」要素を作成し、適切な属性を割り当て、最後に element.appendChild() を使用することを意味します。をクリックして、ドキュメント ツリー内の目的の場所に要素を追加します。実際よりもはるかに派手に聞こえます。すべてがどのように組み合わされるか見てみましょう:

function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file

使用する実際のコードを提供していないため、明らかに、これを独自のコードに適合させる必要がありますjsloadjscssfile()ただし、基本的には、 2 を取得するときに関数を 2 回呼び出す必要がありますURL

于 2012-08-11T19:46:46.740 に答える
1

javascript を使用して、外部の css (および js) ファイルを動的にロードできます。<link>JavaScript を使用して適切な要素を作成するだけです。

var url  = computeUrl();                      /* Obtain url               */
var link = document.createElement('link');    /* Create the link element  */
    link.setAttribute('rel', 'stylesheet');   /* Set the rel attribute    */
    link.setAttribute('type', 'text/css');    /* Set the type attribute   */
    link.setAttribute('href', url);           /* Set the href to your url */

現時点では、要素を作成したばかりです

<link rel="stylesheet" type="text/css" href="your url">

そして、それを変数に格納しましたvar link。それは終わっていません<link>、まだの一部ではありDOMません。追加する必要があります

var head = document.getElementsByTagName('head')[0]; /* Obtain the <head> element      */
head.appendChild(link);                              /* Append link at the end of head */

そして、それは行われます。

非常によく似た方法で、外部 JavaScript リソースを動的に追加できます。<script>タグの代わりにタグを使用して<link>ください。

于 2012-08-11T19:47:42.953 に答える
0

javascript を使用して head 要素にノードを簡単に追加できます。

link=document.createElement('link');
link.href= your_css_href_function();
link.rel='stylesheet';
link.type='text/css';

document.getElementsByTagName('head')[0].appendChild(link);

そしてあなたのjavascriptタグについても同じです:

script=document.createElement('script');
script.src= your_javascript_src_function();
script.type='text/javascript';

document.getElementsByTagName('head')[0].appendChild(script);
于 2012-08-11T19:47:31.060 に答える