如何在运行时替换JS函数中的属性值?

时间:2013-05-21 09:15:13

标签: java javascript html parsing html-parsing

我正在研究我的Java应用程序(除了其他东西)产生HTML。在这个HTML中,每次运行它时,我都需要在一个JS函数中更改一个属性的值。过程是这样的:

1. Every time I run HTML, my application connect to MySQL database and retrieves some needed values.
2. Those values are then parsed into HTML and replacing some keywords which are set for the purpose of replacing.

我已经完成了通过在HTML

中定义关键字DataText来替换某些文字
<p>DataText</p>

在我的Java应用程序中,我做了一个替换:

public void visitStringNode (Text string)
        {
          ...

            else if (string.getText().equals("DataText")){
                  string.setText(text);
            }
        }

其中text是从数据库中检索的String。然后我想通过设置关键字DataVideo来替换我的JS函数中的一个属性的值来做同样的事情:

function replaceSrcc() {

    var elem = document.getElementsByTagName("embed")[0];
        copy = elem.cloneNode();
    copy.src = DataVideo;
    elem.parentNode.replaceChild(copy, elem);
    } 

并且在Java中进行替换,与前一种情况类似:

else if (string.getText().equals("DataVideo")){
                      string.setText(video_link);
                }

其中video_link是一个包含从数据库中检索到的youtube链接的String。但是,这不起作用。调试说只是无法在HTML中搜索DataVideo keyworkd。有什么建议吗?


编辑:在页面加载时调用ReplaceSrcc()函数,就像这样:

<script>
function replaceSrcc() {

    var elem = document.getElementsByTagName("embed")[0];
        copy = elem.cloneNode();
    copy.src = "https://www.youtube.com/v/SKQeNnNT_Vg?version=3";
    elem.parentNode.replaceChild(copy, elem);
    } 


    if (window.addEventListener){
         window.addEventListener('load', replaceSrcc, false);
    } else if (window.attachEvent) {
        window.attachEvent('onload', replaceSrcc);
    }

</script>

0 个答案:

没有答案