GVKun编程网logo

DEDECMS 怎么让栏目外部链接在新窗口中打开(dedecms调用页面)

6

对于想了解DEDECMS怎么让栏目外部链接在新窗口中打开的读者,本文将提供新的信息,我们将详细介绍dedecms调用页面,并且为您提供关于AgGridReact在新窗口中打开表格、angularjs–

对于想了解DEDECMS 怎么让栏目外部链接在新窗口中打开的读者,本文将提供新的信息,我们将详细介绍dedecms调用页面,并且为您提供关于AgGridReact在新窗口中打开表格、angularjs – ng-bind-html – 如何在新窗口中打开链接?、dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"、dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法的有价值信息。

本文目录一览:

DEDECMS 怎么让栏目外部链接在新窗口中打开(dedecms调用页面)

DEDECMS 怎么让栏目外部链接在新窗口中打开(dedecms调用页面)

 

近遇到一个问题,就是dedecms的导航,是用外部链接的,但是原窗口打开不好看,新窗口打开好点。OK,放狗...

1. 查找源码中的head.htm

<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
替换成下面的
<li><a href='[field:typeurl/]' target="_blank">[field:typename/]</a></li>
但这个办法有个缺陷,就是会将所有的栏目都在新窗口打开,使用时会显得很凌乱。那怎么让指定的栏目在新窗口打开呢,请看第二个办法。

2. 查找源码中的head.htm

<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
替换成下面的
<li><a href='[field:typeurl/]' [field:id runphp='yes'] if(@me=='4'){ @me="target='_blank'";}else {@me="";}[/field:id]>[field:typename/]</a></li>
注:上面的4即是你想要新开窗口的栏目ID,这样写即可。

如果有多个的话,可以一次性的写完整上去。如有2个需要新窗口打开,代码如下
<li><a href='[field:typeurl/]' [field:id runphp='yes'] if(@me=='4'||@me=='5'){@me="target='_blank'";} else {@me="";}[/field:id]><span>[field:typename/]</span></a></li>
这里就是4,5的ID全部新窗口打开,OK,打完收工

非常说明:如果只是想让外部链接新窗口打开的话 设置就简单了  只需在文件保存目录里面对的编辑框里面设置成“' target='_blank” 这样的格式 即可

本文章网址:http://www.ppssdd.com/code/14187.html。转载请保留出处,谢谢合作!

AgGridReact在新窗口中打开表格

AgGridReact在新窗口中打开表格

如何解决AgGridReact在新窗口中打开表格?

我试图使用React的新Portal功能,以便在弹出窗口中打开AgGridReact组件。但是,我遇到的问题是当我在新窗口中打开组件时,当鼠标光标位于弹出窗口中时,表功能不起作用。但是,如果将鼠标拖到原始窗口中,该组件将开始工作,并允许我在鼠标位于原始窗口上方而不是弹出窗口上方的情况下更改列的大小。

具体来说,我正在创建一个新的html,然后调用ReactDOM.createPortal(this.props.children,this.containerEl)containerEl是创建的html元素)。然后,将新元素附加到创建的外部窗口。

然后我将containerEl作为popupParent传递给AgGridReact组件。

如果有人想再看一遍我可以按要求发布的代码。但是,任何帮助或指示都将不胜感激。

渲染AgGridReact的位置

const [openedElement,setopenedElement] = useState()
const updateOpenedElement = val => {
  !openedElement && setopenedElement(val)
} 


<AgGridReact 
...
 popupParent={openedElement? openedElement: window.document.getElementById("root")}
...
                >
              </AgGridReact>)

NewWindow的代码如下

const copyStyles = (sourceDoc,targetDoc) => {...}

class NewWindow extends React.Component {
  constructor(props) {
    super(props)
    this.setopenedElement = props.setopenedElement
    this.containerEl = document.createElement(''div'')
    this.externalWindow = null
    
  }

  render() {
    this.setopenedElement(this.containerEl)
    return ReactDOM.createPortal(this.props.children,this.containerEl)
  }

  componentDidMount() {
    this.externalWindow = window.open("","","width=600,height=400,left=200,top=200")

    copyStyles(document,this.externalWindow.document)

    this.externalWindow.document.body.appendChild(this.containerEl)
  }

  componentwillUnmount() {
    this.externalWindow.close()
  }
}

setopenedElement在父组件中调用,我正在使用该父组件来创建popupParent将使用的元素。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

angularjs – ng-bind-html – 如何在新窗口中打开链接?

angularjs – ng-bind-html – 如何在新窗口中打开链接?

我正在使用ng-bind-html在我的网站上放置一些 HTML内容.问题是如果内容有链接,则单击时链接在同一窗口中打开.如何在新窗口中打开它?

<div ng-bind-html="currentElement.content"></div>

解决方法

currentElement.content中包含的链接应具有target =’_ blank’属性

<a href="open/me/in/new/window" target="_blank">MyLink</a>

如果html内容来自外部源,您可以添加一个过滤器来解析html内容并将目标属性添加到链接

这是一个草图:

return angular.element(htmlContent).find('a').attr('target','_blank');

更详细的

<!DOCTYPE html>
<html>

  <head>
    <script data-require="jquery@*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
    <script data-require="angular-sanitize@*" data-semver="1.2.13" src="http://code.angularjs.org/1.2.13/angular-sanitize.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-app="test" ng-controller="HomeCtrl">
    <h1>Test </h1>
    <div ng-bind-html="myHtml | addTargetBlank"></div>
  </body>

</html>

//script.js

angular.module('test',['ngSanitize'])
.filter('addTargetBlank',function(){
  return function(x) {
    var tree = angular.element('<div>'+x+'</div>');//defensively wrap in a div to avoid 'invalid html' exception
    tree.find('a').attr('target','_blank'); //manipulate the parse tree
    return angular.element('<div>').append(tree).html(); //trick to have a string representation
  }
})

.controller('HomeCtrl',function($scope){
  $scope.myHtml = 'test html content 1 <a href="#">click here</a>,test html content 2 <a href="#">click here</a>,test html content 3 <a href="#">click here</a>';
})
;

http://plnkr.co/edit/tpl:JHcBgtJ75fVaqFYQlE4a

dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"

dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"

模板代码

<ul>
	<li><a href="/"><i></i>网站首页</a></li>
	{dede:channelartlist typeid=''top'' currentactive''}
	<li><a{dede:field.ispart runphp=yes}(@me==2)? @me='' target="_blank"'':@me='''';{/dede:field.ispart} href="{dede:field name=''typeurl''/}"{dede:field.currentstyle/}''><i></i>{dede:field name=''typename''/}</a>
		<ul>
			{dede:channel type=son noself=yes}
			<li><a href="[field:typelink/]"[field:ispart runphp=yes](@me==2)? @me=''target="_blank"'':@me='''';[/field:ispart]>[field:typename/]</a></li>
			{/dede:channel}
		</ul>
	</li>
	{/dede:channelartlist}
</ul>

使用说明

如果栏目属性是外部链接时加入target="_blank"新窗口打开,否则就不添加

dede:channelartlist

{dede:field.ispart runphp=yes}(@me==2)? @me='' target="_blank"'':@me='''';{/dede:field.ispart}

dede:channel

[field:ispart runphp=yes](@me==2)? @me='' target="_blank"'':@me='''';[/field:ispart]

dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法

dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法

DEDECMS文章页加入的链接都默认不是在新窗口打开。百度一下,都是关于FCKeditor编辑器的。dedecmd v5.7 默认ckeditor编辑器。写下来希望能帮到那些不会改的同学

在清理下浏览器缓存,就可以了。

您可能感兴趣的文章:
  • FCKEditor超级链接默认新窗口打开的修改方法

关于DEDECMS 怎么让栏目外部链接在新窗口中打开dedecms调用页面的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于AgGridReact在新窗口中打开表格、angularjs – ng-bind-html – 如何在新窗口中打开链接?、dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"、dedecms ckeditor编辑器添加链接默认新窗口打开的修改方法的相关知识,请在本站寻找。

本文标签: