隐藏链接的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏链接的方法相关的知识,希望对你有一定的参考价值。

参考技术A

隐藏链接主要有HTML中设置DIV的display属性为NONE。如果直接设置DIV的display属性为NONE,这样的隐藏链接会被搜索引擎认为是在作弊,不仅没有帮助,反而可能给网站带来负作用。而搜索引擎对javascript的识别不是很好,所以隐藏链接经常是通过javascript来输出隐藏的DIV。这样的话,人工正常浏览页面无法看到这些链接,而搜索引擎却认为这些链接是有效的。代码为:首先通过javascript写前面的DIV,设置display为none,具体代码为:<script language=javascript type=text/javascript> document.write(<div style=display:none;>); </script>。然后输出一个TABLE或DIV,TABLE或DIV中添加自己的链接。最后再通过javascript输出后半部分/DIV,具体代码为:<script language=javascript type=text/javascript> document.write(</div>); </script>。这样就完成了隐藏链接的添加。

FireStore 数据未显示访问隐藏方法 Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V(灰名单,链接,允许)

【中文标题】FireStore 数据未显示访问隐藏方法 Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V(灰名单,链接,允许)【英文标题】:FireStore Data Not Showing Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed) 【发布时间】:2021-08-11 21:22:03 【问题描述】:

当我尝试使用 FirestoreRecyclerAdapter 从 Firestore 检索数据时,它没有显示。

错误日志

Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)

Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)

Java 代码

    //FirebaseFireStore Variable
    firebaseFirestore = FirebaseFirestore.getInstance();
    //RecyclerView Variable
    recyclerView = findViewById(R.id.recyclerViewId);
    //Query
    Query query = firebaseFirestore.collection("root");
    //RecyclerOption
    FirestoreRecyclerOptions<TestModel> options = new FirestoreRecyclerOptions.Builder<TestModel>()
            .setQuery(query, TestModel.class)
            .build();
    //FirestoreRecyclerAdapter
    adapter = new FirestoreRecyclerAdapter<TestModel, MyTestViewHolder>(options) 
        @NonNull
        @Override
        public MyTestViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) 
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.test_item, parent, false);
            return new MyTestViewHolder(view);
        
        @Override
        protected void onBindViewHolder(@NonNull TestActivity.MyTestViewHolder holder, int position, @NonNull TestModel model) 
            holder.tit.setText(model.getmTitle());
            holder.sto.setText(model.getmStory());
        
    ;
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setAdapter(adapter);

private class MyTestViewHolder extends RecyclerView.ViewHolder 
    TextView tit, sto;
    public MyTestViewHolder(@NonNull View itemView) 
        super(itemView);
        tit = itemView.findViewById(R.id.testTitleId);
        sto = itemView.findViewById(R.id.testStoryId);
    

@Override
protected void onStart() 
    super.onStart();
    adapter.startListening();

@Override
protected void onStop() 
    super.onStop();
    adapter.stopListening();

模型类

 String mTitle, mStory;

public TestModel(String mTitle, String mStory) 
    this.mTitle = mTitle;
    this.mStory = mStory;


private TestModel()

public String getmTitle() 
    return mTitle;


public void setmTitle(String mTitle) 
    this.mTitle = mTitle;


public String getmStory() 
    return mStory;


public void setmStory(String mStory) 
    this.mStory = mStory;

FireStore 控制台

【问题讨论】:

【参考方案1】:

当您尝试将 Firestore 中的文档映射到“TestModel”类型的对象时,类中存在的字段名称必须与数据库中存在的属性名称相匹配。不幸的是,在您的情况下,这些字段不匹配。看,你的数据库中的字段被称为“故事”和“标题”,而在类中被称为“mStory”和“mTitle”,这是正确的。

要解决这个问题,您有两个选择,您可以更改数据库中属性的名称以匹配类中的名称,或者您可以在 getter 前面使用注释。例如,对于“mTitle”字段,您的 getter 应如下所示:

@PropertyName("title")
public String getTitle() 
    return mTitle;

这样,您告诉编译器查找名为“title”而不是“mTitle”的属性。

【讨论】:

谢谢亚历克斯。是的,当我将模型类变量名称更改为 Firestore 键名时,它就可以工作了。

以上是关于隐藏链接的方法的主要内容,如果未能解决你的问题,请参考以下文章

CSS中隐藏内容的3种方法及属性值

使用js设置ul标签的显示或隐藏和超链接调用js文件的方法

FireStore 数据未显示访问隐藏方法 Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V(灰名单,链接,允许)

Github隐藏使用技巧(超详解)

用 CSS 隐藏页面元素的 5 种方法

隐藏Nginx版本号的安全性与方法