首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Document.write(‘<scr’+‘IPT...不工作

Document.write(‘<scr’+‘IPT...不工作
EN

Stack Overflow用户
提问于 2012-07-12 22:18:12
回答 3查看 324关注 0票数 1

以下脚本的工作方式类似于沙姆:

代码语言:javascript
复制
<script type="text/javascript">
    document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');
</script>

http://jsfiddle.net/VHLTx/

但是这个不是!为什么?

代码语言:javascript
复制
<script type="text/javascript">  
$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    $location =  geoplugin_countryName();    

    if($location == "Canada" || $location == "United States") {
      // >>>some code>>>
    } else {
      document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');
    } 
});
</script>

请帮助我一个使用jsfiddle的例子非常受欢迎

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-07-12 22:26:54

真正的原因是它永远不会工作,因为您的document.write()调用将在对$.getScript()调用的异步回调中发生。这将在关闭原始文档之后发生。

结果将是原始页面的其余部分将被完全删除。

目前还不清楚使用document.write()的目的是什么。

票数 5
EN

Stack Overflow用户

发布于 2012-07-12 22:22:34

getScript是一个jQuery方法,您的jsfiddle被配置为加载MooTools。

使用jsfiddle的示例:http://jsfiddle.net/VHLTx/1/

票数 3
EN

Stack Overflow用户

发布于 2012-07-12 22:23:00

要使用getScript(),您需要包含jQuery。您提供的not-working fiddle (http://jsfiddle.net/g3kMt/1)上的控制台错误表明getScript()是一个未定义的方法。设置显示您加载的是MooTools,而不是jQuery。

这是一个可以工作的更新版本:http://jsfiddle.net/g3kMt/2/我所做的就是将下拉菜单指定为jQuery而不是MooTools。在站点上运行的实际代码中,您需要确保加载的是jQuery。

下面是一个可以剪切并粘贴到HTML文档中的版本:

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>  

<script type="text/javascript">   
    $.getScript('http://www.geoplugin.net/javascript.gp', function() {      
        $location =  geoplugin_countryName();            
        if($location == "Canada" || $location == "United States") {
            document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');       
        } else {    
            document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');         
        }   
    });  
</script>

正如Pointy解释的那样,你在这里采取的方法将会删除页面上的任何其他内容。可能不是你想要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11453864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档