小编rpi*_*var的帖子

可以在桌面上本地测试<meta name ="theme-color">吗?

我正在尝试测试<meta>标签<meta name="theme-color" content="#000000">,但我想在桌面上本地测试,而不是在移动设备上看到它.查看此标记的预览功能非常有用.

此特定<meta>标记如下所示:https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android

是否可以在桌面上本地测试?我尝试使用Chrome开发者工具并切换设备工具栏,但遗憾的是移动Chrome工具栏未显示在该视图中.

android google-chrome

10
推荐指数
1
解决办法
718
查看次数

.env 文件与 Python/Django 有何关联?

我对 Django / Python 很陌生,我正在尝试弄清楚.env文件与 Django 项目的关系。

示例.env

DATABASE_URL=postgres://postgres_user@db:xxxx/postgres_db
DJANGO_SETTINGS_MODULE=spare.settings.dev
SECRET_KEY=example
Run Code Online (Sandbox Code Playgroud)

我确实找到了这篇 Stack Overflow 帖子,它提供了一些信息,但希望能提供更多信息。

  • 所有 Django 项目都有.env文件吗?
  • 非 Django python 项目是否有.env文件,或者它通常是与 Django 相关的东西?
  • 哪里.env文件通常被称为从?换句话说,项目的其余部分如何知道 .env 文件存在?

python django environment-variables

10
推荐指数
1
解决办法
1万
查看次数

IntersectionObserver回调在页面加载时立即触发

我是IntersectionObserver API的新手,并且一直在尝试以下代码:

let target = document.querySelector('.lazy-load');

let options = {
    root: null,
    rootMargin: '0px',
    threshold: 0
}

let observer = new IntersectionObserver(callback, options);

observer.observe(target);

function callback() {
    console.log('observer triggered.');
}
Run Code Online (Sandbox Code Playgroud)

这似乎可以正常工作,并callback().lazy-load元素进入视口时调用,但是callback()在页面最初加载时也会触发一次,从而触发“ console.log('观察者被触发”)。

页面加载时是否有触发此回调的原因?还是我执行此方法有误?

编辑:将代码更改为以下内容仍会在页面加载时触发回调。

let target = document.querySelector('.lazy-load');

let options = {
    root: null,
    rootMargin: '0px',
    threshold: 0
}

let callback = function(entries, observer) {
    entries.forEach(entry => {

        console.log('observer triggered.');

    });
};

let observer = new IntersectionObserver(callback, options);

observer.observe(target);
Run Code Online (Sandbox Code Playgroud)

javascript lazy-loading intersection-observer

10
推荐指数
1
解决办法
2181
查看次数

Webpack Mini CSS Extract Plugin - 提取CSS有什么意义?

我正在使用Mini CSS Extract Plugin将 CSS 拆分为distwebpack 项目文件夹中自己的文件。

我的webpack.config.js文件如下所示:

const path = require('path');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: "style.css"
    })
  ],
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,
          "css-loader"
        ]
      }
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

当我 时,这会在我的文件夹中npm run build构建文件,该文件与我的文件夹中的文件相同。我必须包括style.cssdiststyle.csssrc

<head>
  ...
  <link rel="stylesheet" type="text/css" href="style.css" />
</head> 
Run Code Online (Sandbox Code Playgroud)

index.html在文件夹的头部,dist …

webpack webpack-style-loader

7
推荐指数
1
解决办法
5891
查看次数

vue-router:如何从router-link删除下划线

这样会产生带下划线的链接:

<li><router-link to="/hello">Hello</router-link></li>
Run Code Online (Sandbox Code Playgroud)

我的理解是该router-link元素生成一个a标签。

我在CSS中尝试了以下方法:

router-link{
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
router-link a{
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
router-link a{
    text-decoration: none !important;
}
Run Code Online (Sandbox Code Playgroud)

..但不幸的是,这些都不起作用。

css vue.js vue-router vuejs2 routerlink

6
推荐指数
6
解决办法
2万
查看次数

等待在没有 setTimeout 的情况下定义值?

我正在从某个地方获取一个值并希望在本地使用它(使用 lodash):

const setting = _.get(this.settings, 'options');
Run Code Online (Sandbox Code Playgroud)

this.settings.options设置在其他地方,取决于环境,this.settings.options可能未定义。在这种情况下,我可以执行以下操作:

const set = (setting) => {
  ...
  ...
};

const getThing = () => {
  setTimeout(() => {
    const setting = _.get(this.settings, 'options');
    return setting ? set(setting) : getThing();
  }, 1000);
};

getThing();
Run Code Online (Sandbox Code Playgroud)

这使用一个setTimeout函数来等待 1 秒this.settings.options以在该时间内设置,如果尚未设置,则该setTimeout函数会在 1 秒后调用自身进行检查。之后,它继续set()使用获取的数据执行该功能。这似乎每次都有效,但如果我能一直检查这个值直到它在没有计时器的情况下被定义,那就太好了。我不确定这是否可能?

我一直在尝试实现 promise 或使用 async / await 来执行此操作,但是我看到的示例似乎也使用了setTimeouts,并且解决方案最终看起来更复杂。其中,我主要是在看这个答案。无论如何,我在使用 async/await 执行此操作时遇到了麻烦,因此必须继续进行故障排除。

有没有办法在不使用 asetTimeout或 的情况下等待定义此值setInterval

javascript async-await ecmascript-6 es6-promise

6
推荐指数
1
解决办法
453
查看次数

Docker:如何在目录中使用 SQL 文件

我正在尝试使用 Docker 在本地打开一个 Wordpress 网站。

这是此容器的 docker-compose.yml 文件:

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:
Run Code Online (Sandbox Code Playgroud)

Dockerfile:

FROM orchardup/php5
ADD . /code
Run Code Online (Sandbox Code Playgroud)

在终端中,我输入docker-compose up -d. 然后我可以访问该网站localhost:8080,但它不是实际的网站 - 它只是一个 Wordpress 模板。我猜我必须以某种方式将 .sql 文件合并到目录中?我该怎么做呢?我需要在 .yml 文件中指定它吗?

mysql sql docker dockerfile docker-compose

5
推荐指数
1
解决办法
2547
查看次数

jQuery - 通过单击外部关闭模式弹出窗口不起作用

我试图在点击它外部时关闭一个弹出窗口。

HTML

<span class="open"data-modal="modal1">Button</span>

<div class="modal" id="modal1">

    <!--modal content-->
    <div class="modal-content">

        <!--close button-->
        <span class="close">&times;</span>

        <!--content-->

    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

$(document).ready( function() {

    //open pop-up when span is clicked
    $(".open").on("click", function() {
        var modalId = $(this).data("modal");
        var $modal = $("#" + modalId);
        $modal.show();
    });

    //close pop-up when close button is clicked
    $(".close").on("click", function() {
        $(this).closest(".modal").hide();
    });



    $("body").click(function(){
        $(".modal").hide();
    });

    // Prevent events from getting pass .popup
    $(".modal-content").click(function(e){
       e.stopPropagation();
    });

});
Run Code Online (Sandbox Code Playgroud)

在该代码块的底部,我在主体上有一个隐藏模态的点击功能,但如果modal-content被点击,e.stopPropagation();则被触发。

但是,当我单击按钮打开弹出窗口时,由于$("body").click(function(){}.

有没有办法我可以$("body").click(function(){}用类似的东西包装: …

javascript jquery

4
推荐指数
2
解决办法
1万
查看次数

window.onclick = function(event) 仅适用于第一项

这是我完整代码的jsfiddle,您可以在其中测试两个模态的功能。在第二个模态外单击将关闭它,而在第一个模态外单击不会关闭它。

我在 HTML 页面上有两个模态弹出窗口,打开它们后,可以通过使用以下代码在模态外单击来关闭它们:

// When user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,此代码仅适用于我的 script.js 文件中的第二个(最后一个)实例。您可以看到该文件中实际上只有两个代码块:第一个控制第一个模态,第二个控制第二个模态。上面代码的每个实例都位于块的末尾。

// Get modalCompanies
var modalCompanies = document.getElementById('companiesModal');

// Get button that opens the modalCompanies
var btnCompanies = document.getElementById("companiesOpen");

// Get <spanCompanies> element that closes the modalCompanies
var spanCompanies = document.getElementsByClassName("close")[0];

// When user clicks on the button, open the modalCompanies 
btnCompanies.onclick = function() {
    modalCompanies.style.display = "block";
} …
Run Code Online (Sandbox Code Playgroud)

javascript

3
推荐指数
2
解决办法
4万
查看次数

&gt; / &lt;/ ===三向比较,而不必多次写入比较值?

我正在尝试写一个解决方案,该问题需要根据两个值的结果提供三个可能的不同返回值。可能性大于小于等于。一种简单易懂的书写方式是:

function compare(x, y) {
  if (x < y) return y;
  if (x > y) return x;
  if (x === y) return 'equal';
}
Run Code Online (Sandbox Code Playgroud)

我一直在试图找出是否有办法通过减少出现的次数来写这个xyif,并return在代码中。例如,如果我不检查===,则可以消除if并减少return为一种用途:

function compare(x, y) {
  return x > y ? x : y;
}
Run Code Online (Sandbox Code Playgroud)

===重新添加到此三元返回中比较笨拙,并且当存在两种以上可能性时,我不喜欢使用三元运算符。如果将其替换为长表达式xy则可能很难理解:

function compare(x, y) {
  return x === y ? 'equal' : x > y ? x …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

2
推荐指数
1
解决办法
65
查看次数